如何为 DynamoDB 表选择正确的主键?

上次更新日期:2020 年 12 月 18 日

为 Amazon DynamoDB 表选择主键时应该注意哪些事项?

简短描述

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

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

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

解决方法

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

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

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


这篇文章对您有帮助吗?


您是否需要账单或技术支持?