如何为我的 Amazon DynamoDB 表选择适当的主键?

1 分钟阅读
0

我想了解为 Amazon DynamoDB 表选择主键时的注意事项。

简短描述

DynamoDB 中提供了两种类型的主键

  • **分区键:**这是一个简单的主键。如果表只有一个分区键,则任何两个项目都不能具有相同的分区键值。
  • **复合主键:**这是分区键和排序键的组合。如果表具有复合主键,则两个项目可能具有相同的分区键值。但是,这些项目必须具有不同的排序键值。

无论您选择哪种主键,表中每个项目的主键都必须是唯一的。未能选择适当的主键可能会导致不均匀的数据分布和热键,从而可能导致限制(ProvisionedThroughputExceededException)。

解决方法

选择主键时,请使用以下一种或多种策略:

  • **使用高基数属性:**分区键必须是每个项目都有唯一值的属性,例如用户 ID、电子邮件或电话号码。
  • **使用复合属性:**组合多个属性以形成主键。例如,您可能有一个“订单”表,该表为分区键组合了客户 ID、产品 ID 和国家/地区代码,并将订单日期用作排序键。这将增加每个项目都具有唯一主键的可能性。
  • **为分区键添加随机编号:**对于大量写入的使用案例,请考虑为分区键添加预定范围内的随机编号。这会增加分区键的随机性。有关更多信息,请参阅使用写入分区均匀分布工作负载

有关这些策略的详细信息,请参阅选择正确的 DynamoDB 分区键


相关信息

有效设计和使用分区键的最佳实践

为什么我的 Amazon DynamoDB 表受到限制?

AWS 官方
AWS 官方已更新 2 年前
没有评论