Amazon DynamoDB 入門
在 AWS 中使用資料儲存服務
Dunieski Otano
AWS Solutions Architect
熱分割區問題
- 想像餐廳裡一個收銀很忙、三個閒著不做事
- 這就是分割區鍵設計不良的結果
- 熱分割區=一個分割區承受過多流量,其他閒置
- 解法:使用高基數分割區鍵:具許多唯一值、能平均分散資料的屬性

好的分割區鍵條件
- 高基數:有許多唯一值
- userId、orderId、sessionId - 可以
- country、status、category - 不行
- 平均分佈:存取樣式平衡
- 可預測:查詢時可確定
DynamoDB 資料表結構
- 分割區鍵(必要):決定資料分佈
- 排序鍵(選用):支援範圍查詢(例如 userId + orderDate)
- 屬性:其他資料欄位
- 主鍵=分割區鍵,或 分割區鍵+排序鍵
建立你的第一個資料表
- AWS 主控台:快速測試設定
- boto3(Python):以程式建立資料表
- 關鍵決策:分割區鍵、排序鍵、計費模式
複合鍵與排序鍵查詢
- 複合鍵:分割區鍵+排序鍵
- 範圍查詢:依日期或數值範圍查詢
- 運算子:=、<、>、<=、>=、BETWEEN、begins_with
- 範例:取得使用者近 30 天金額 > $100 的訂單
容量模式:隨需 vs 預置
- 隨需(On-Demand):按請求付費,自動擴展
- 預置(Provisioned):設定 RCU/WCU,大規模成本較低
- 每 24 小時可切換一次模式
Preparing Video For Download...