- DynamoDB 教程
- DynamoDB - 首頁
- DynamoDB - 概述
- DynamoDB - 基本概念
- DynamoDB - 環境
- DynamoDB - 操作工具
- DynamoDB - 資料型別
- DynamoDB - 建立表
- DynamoDB - 載入表
- DynamoDB - 查詢表
- DynamoDB - 刪除表
- DynamoDB - API 介面
- DynamoDB - 建立專案
- DynamoDB - 獲取專案
- DynamoDB - 更新專案
- DynamoDB - 刪除專案
- DynamoDB - 批次寫入
- DynamoDB - 批次讀取
- DynamoDB - 查詢
- DynamoDB - 掃描
- DynamoDB - 索引
- 全域性二級索引
- 區域性二級索引
- DynamoDB - 聚合
- DynamoDB - 訪問控制
- DynamoDB - 許可權 API
- DynamoDB - 條件
- Web身份聯合
- DynamoDB - 資料管道
- DynamoDB - 資料備份
- DynamoDB - 監控
- DynamoDB - CloudTrail
- DynamoDB - MapReduce
- DynamoDB - 表活動
- DynamoDB - 錯誤處理
- DynamoDB - 最佳實踐
- DynamoDB 有用資源
- DynamoDB - 快速指南
- DynamoDB - 有用資源
- DynamoDB - 討論
DynamoDB - 基本概念
在使用 DynamoDB 之前,您必須熟悉其基本元件和生態系統。在 DynamoDB 生態系統中,您使用表、屬性和專案進行操作。表包含一組專案,專案包含一組屬性。屬性是資料的基本元素,不需要進一步分解,即欄位。
主鍵
主鍵是表專案唯一標識的方法,二級索引提供查詢靈活性。DynamoDB 流記錄修改表資料的事件。
表建立不僅需要設定名稱,還需要設定主鍵;主鍵標識表專案。沒有兩個專案共享同一個主鍵。DynamoDB 使用兩種型別的主鍵:
分割槽鍵 - 此簡單主鍵由單個屬性組成,稱為“分割槽鍵”。在內部,DynamoDB 使用鍵值作為雜湊函式的輸入來確定儲存位置。
分割槽鍵和排序鍵 - 此鍵稱為“複合主鍵”,由兩個屬性組成。
分割槽鍵和
排序鍵。
DynamoDB 將第一個屬性應用於雜湊函式,並將具有相同分割槽鍵的專案儲存在一起;其順序由排序鍵確定。專案可以共享分割槽鍵,但不能共享排序鍵。
主鍵屬性僅允許標量(單個)值;以及字串、數字或二進位制資料型別。非鍵屬性沒有這些限制。
二級索引
這些索引允許您使用備用鍵查詢表資料。雖然 DynamoDB 不強制使用它們,但它們可以最佳化查詢。
DynamoDB 使用兩種型別的二級索引:
全域性二級索引 - 此索引擁有分割槽鍵和排序鍵,它們可能與表鍵不同。
區域性二級索引 - 此索引擁有與表相同的分割槽鍵,但其排序鍵不同。
API
DynamoDB 提供的 API 操作包括控制平面、資料平面(例如,建立、讀取、更新和刪除)和流的操作。在控制平面操作中,您可以使用以下工具建立和管理表:
- CreateTable
- DescribeTable
- ListTables
- UpdateTable
- DeleteTable
在資料平面中,您可以使用以下工具執行 CRUD 操作:
| 建立 | 讀取 | 更新 | 刪除 |
|---|---|---|---|
PutItem BatchWriteItem |
GetItem BatchGetItem Query Scan |
UpdateItem | DeleteItem BatchWriteItem |
流操作控制表流。您可以檢視以下流工具:
- ListStreams
- DescribeStream
- GetShardIterator
- GetRecords
預置吞吐量
在表建立中,您指定預置吞吐量,這將為讀寫保留資源。您可以使用容量單位來衡量和設定吞吐量。
當應用程式超過設定的吞吐量時,請求將失敗。DynamoDB GUI 控制檯允許監控已設定和已使用的吞吐量,以便更好地進行動態配置。
讀取一致性
DynamoDB 使用最終一致性和強一致性讀取來支援動態應用程式需求。最終一致性讀取並不總是提供當前資料。
強一致性讀取總是提供當前資料(裝置故障或網路問題除外)。最終一致性讀取是預設設定,需要在ConsistentRead引數中設定為 true 才能更改它。
分割槽
DynamoDB 使用分割槽進行資料儲存。這些表的儲存分配具有 SSD 後端,並自動跨區域複製。DynamoDB 管理所有分割槽任務,無需使用者參與。
在表建立中,表進入 CREATING 狀態,這將分配分割槽。當它達到 ACTIVE 狀態時,您可以執行操作。當其容量達到最大值或您更改吞吐量時,系統會更改分割槽。