如何為 Amazon DynamoDB 資料表選擇正確的主索引鍵?

1 分的閱讀內容
0

我想知道為 Amazon DynamoDB 資料表選擇主索引鍵時的考量事項。

簡短描述

DynamoDB 中有兩種類型的主索引鍵

  • **分區索引鍵:**這是一種簡單的主索引鍵。如果資料表中只有一個分區索引鍵,則不可能存在兩個具有相同分區索引鍵值的項目。
  • **複合主鍵:**這是分區索引鍵和排序索引鍵的組合。如果資料表中有一個複合主鍵,則兩個項目可能具有相同的分區索引鍵值。不過,這些項目必須有不同的排序索引鍵值。

不論選擇哪種類型的主索引鍵,主索引鍵對於資料表中的每個項目都必須是唯一的。未選擇適當的主索引鍵可能會導致資料分佈不均和熱鍵,從而造成限流 (ProvisionedThroughputExceededException)。

解決方法

選擇主索引鍵時,請使用下列一個或多個策略:

  • **使用高基數屬性:**分區索引鍵必須是一個對每個項目而言具有唯一值的屬性,例如使用者 ID、電子郵件或電話號碼。
  • **使用複合屬性:**組合多個屬性以形成主索引鍵。例如,您可能有一個「訂單」資料表,結合了分區索引鍵的客戶 ID、產品 ID 和國家/地區代碼,然後使用訂單日期作為排序索引鍵。這會增加每個項目具有唯一主索引鍵的可能性。
  • **將隨機數字新增到分區索引鍵中:**對於密集寫入的使用案例,請考慮將預定範圍中的隨機數字新增到分區索引鍵中。這會增加分區索引鍵的隨機性。如需詳細資訊,請參閱使用寫入碎片以平均分配工作負載

如需有關這些策略的詳細資訊,請參閱選擇正確的 DynamoDB 分區索引鍵


相關資訊

有效設計和使用分區索引鍵的最佳實務

為什麼我的 Amazon DynamoDB 資料表被限流?

AWS 官方
AWS 官方已更新 2 年前