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

上次更新时间:2020 年 5 月 22 日

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

简短描述

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

  • 分区键:这是一个简单主键,它对于表中的每个项目都是唯一的。
  • 复合主键:这是分区键和排序键的组合,它对于表中的每个项目都是唯一的。例如,两个项目可能具有相同的分区键,但它们将始终具有不同的排序键。

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

解决方法

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

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

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


这篇文章对您有帮助吗?

我们可以改进什么?


需要更多帮助?