Amazon DynamoDB 入門

在 AWS 中使用資料儲存服務

Dunieski Otano

AWS Solutions Architect

熱分割區問題

  • 想像餐廳裡一個收銀很忙、三個閒著不做事
  • 這就是分割區鍵設計不良的結果
  • 熱分割區=一個分割區承受過多流量,其他閒置
  • 解法:使用高基數分割區鍵:具許多唯一值、能平均分散資料的屬性

partition

在 AWS 中使用資料儲存服務

好的分割區鍵條件

  • 高基數:有許多唯一值
    • userId、orderId、sessionId - 可以
    • country、status、category - 不行
  • 平均分佈:存取樣式平衡
  • 可預測:查詢時可確定

cardinality

在 AWS 中使用資料儲存服務

DynamoDB 資料表結構

  • 分割區鍵(必要):決定資料分佈
  • 排序鍵(選用):支援範圍查詢(例如 userId + orderDate)
  • 屬性:其他資料欄位
  • 主鍵=分割區鍵,或 分割區鍵+排序鍵

table

在 AWS 中使用資料儲存服務

建立你的第一個資料表

  • AWS 主控台:快速測試設定
  • boto3(Python):以程式建立資料表
  • 關鍵決策:分割區鍵、排序鍵、計費模式

first

在 AWS 中使用資料儲存服務

複合鍵與排序鍵查詢

  • 複合鍵:分割區鍵+排序鍵
  • 範圍查詢:依日期或數值範圍查詢
  • 運算子:=、<、>、<=、>=、BETWEEN、begins_with
  • 範例:取得使用者近 30 天金額 > $100 的訂單

code

在 AWS 中使用資料儲存服務

容量模式:隨需 vs 預置

  • 隨需(On-Demand):按請求付費,自動擴展
    • 適用:流量不可預測、新應用
  • 預置(Provisioned):設定 RCU/WCU,大規模成本較低
    • 適用:流量可預測、成本最佳化
  • 每 24 小時可切換一次模式

mode

在 AWS 中使用資料儲存服務

一起來練習吧!

在 AWS 中使用資料儲存服務

Preparing Video For Download...