Amazon DynamoDB 常見問答集

關於 Amazon DynamoDB

DynamoDB 是速度快又具有彈性的非關聯式資料庫,可適用於各種規模大小。使用 DynamoDB,客戶可以將操作和擴展分散式資料庫的管理重擔交給 AWS,而無須擔心硬體佈建、設定和組態、輸送容量規劃、複寫、軟體修補或叢集擴展等問題。

DynamoDB 消除了影響資料庫擴展的主要絆腳石之一,也就是資料庫軟體的管理與執行資料庫所需的硬體佈建。您可在短短幾分鐘之內部署非關聯式資料庫。DynamoDB 會自動調整輸送容量,以符合工作負載需求,並隨著表格大小增長分割及重新分割資料。此外,DynamoDB 還可在 AWS 區域的三個設施上同步複製資料,提供高可用性和資料耐久性。

使用者從 DynamoDB 讀取資料時,可以指定最終一致性讀取或是強制一致性讀取:

  • 最終一致讀取 (預設) – 最終一致性選項可以最大幅地提高讀取輸送量。但是,最終一致讀取可能不會反映最近完成的寫入操作結果。所有資料複本通常不到一秒即可達到一致。稍待一下再讀取,就應該會傳回更新後的資料。
  • 強制一致性讀取 – 除了提供最終一致性外,如果您的應用程式或應用程式的某個元素有所需要,DynamoDB 還可提供您落實強制一致性讀取的彈性和控制能力。強制一致性讀取傳回的結果可反映在讀取前收到成功回應的所有寫入。
  • ACID 交易 – DynamoDB 交易可在單一 AWS 帳戶和區域內跨一個或多個表為開發人員提供不可分割性、一致性、隔離性和耐久性 (ACID)。您可以在建置應用程式時使用交易,在單一邏輯業務操作中需要對多個項目協調插入、刪除或更新操作。

開始使用

DynamoDB 支援以使用者定義的主索引鍵執行 GET/PUT 操作。主索引鍵是表格項目唯一的必要屬性。建立表格時指定主索引鍵,即可專屬辨識各個項目。DynamoDB 也能讓您使用全域次要索引本機次要索引查詢非主索引鍵屬性,方便靈活查詢。

主索引鍵可以是單一屬性分區索引鍵或複合分區排序索引鍵。例如,單一屬性的分區索引鍵可以是 UserID。讓您快速讀取和寫入與特定使用者 ID 關聯的項目資料。

DynamoDB 會將複合分區排序索引鍵的索引,編製為分區索引鍵元素和排序索引鍵元素。這個複合鍵可保持第一個元素值和第二個元素值之間的層次結構。例如,複合分區排序索引鍵可能是 UserID (分區) 和時間戳記 (排序) 的組合。保持分區索引鍵元素不變,您可以在排序索引鍵元素中搜尋以擷取項目。透過這樣的搜尋方式,您可以使用 Query API 執行一些操作,例如,在一個時間戳記範圍中擷取單一 UserID 的所有項目。

使用 DynamoDB 主控台CreateTable API 建立表格之後,您可以使用 PutItemBatchWriteItem API 插入項目。接著,您可以使用 GetItemBatchGetItem 擷取新增到表格中的項目;如果複合主鍵已啟用,且正在表格中使用,則可使用 Query API

是。DynamoDB 是一項全受管的雲端服務,可透過 API 進行存取。於任一作業系統 (例如 Linux、Windows、iOS、Android、Solaris、AIX 和 HP-UX) 執行的應用程式均可使用 DynamoDB。建議您透過 AWS 開發套件開始使用 DynamoDB。

規劃

每個 DynamoDB 表都會佈建與其相關聯的讀取輸送量和寫入輸送量。該輸送容量將按小時計費。請注意,無論您是否傳送請求給表格,我們都將以時數為單位對輸送容量收費。如要變更表格佈建的輸送容量,可使用 AWS 管理主控台UpdateTable API 或可自動擴展規模的 PutScalingPolicy API 執行此操作。此外,DynamoDB 也會針對資料儲存體收費,且您還必須支付標準網際網路數據傳輸的費用。

如要進一步了解 DynamoDB 收費的相關資訊,請參閱 DynamoDB 定價頁面

每一張 DynamoDB 表實際上是沒有輸送量限制的。如需了解目前相關限制,請參閱 DynamoDB 中的限制。如果您想提高限制,請聯絡 Amazon。 

對於自動調整規模和手動佈建輸送量,您可以佈建的最小輸送量都是 1 個寫入容量單位和 1 個讀取容量單位。佈建屬於免費方案的範圍,免費方案允許 25 個寫入容量單位和 25 個讀取容量單位。免費方案適用於帳戶等級而非表格等級。換句話說,如果您加總所有表格的佈建容量,總容量不超過 25 個寫入容量單位和 25 個讀取容量單位,您的佈建容量就屬於免費方案範圍。

DynamoDB 標準 – IA 可協助降低您 DynamoDB 的總成本,這些資料表儲存不常存取的資料,例如應用程式日誌、舊社交媒體帖子、電子商務訂單歷史記錄和過去的遊戲成就。如果儲存是您的主要資料表成本—儲存成本始終超過輸送量 (讀取和寫入) 成本的 50%—那麼 DynamoDB 標準-IA 資料表類別是您最經濟的選擇。如要進一步了解 DynamoDB 標準 – IA 的相關資訊,請參閱 DynamoDB 定價頁面

DynamoDB 標準 – IA 資料表在支援所有現有 DynamoDB 功能 (包括全域資料表、二級索引、隨需備份和時間點復原 (PITR)) 與 DynamoDB 標準資料表沒有什麼差異。DynamoDB 標準 – IA 資料表還透過與 DynamoDB 標準資料表相同的方式內建與其他 AWS 服務的整合。例如,您可以使用 Amazon CloudWatch 監控 DynamoDB 標準 – IA 資料表的效能,使用 AWS CloudFormation 範本來佈建,管理您的 DynamoDB 標準 – IA 資料表,使用 DynamoDB Accelerator (DAX) 新增快取以加速效能,將您的變更資料記錄串流到 Amazon Kinesis Data Streams,以及將您的 DynamoDB 標準 – IA 資料表匯出到 Amazon Simple Storage Service (Amazon S3)。

運作方式

如需資料模型和 API 的詳細資訊,請參閱 Amazon DynamoDB:運作方式

如需可擴展性、可用性和耐久性的相關資訊,請參閱 Amazon DynamoDB 產品詳細資訊

如需 DynamoDB 自動調整規模的相關資訊,請參閱使用 DynamoDB Auto Scaling 自動管理輸送容量

如需 DynamoDB 安全性與控制的相關資訊,請參閱 Amazon DynamoDB 的 Identity and Access Management