如果我的分区键是唯一的,我是否需要 DynamoDB 中的排序键?

Aci*_*ciD 1 amazon-web-services amazon-dynamodb

如果我已经有一个唯一的主键 [分区键],那么拥有排序键有什么好处?

Ahm*_*bil 6

排序键有两个好处:

  1. 他们将相关信息收集到一个可以有效查询的地方。精心设计的排序键使您可以使用范围查询和操作符(例如begins_with、Between、>、< 等)来检索常用的相关项组。
  2. 复合排序键允许您定义数据中的层次结构(一对多)关系,您可以在层次结构的任何级别进行查询。

话虽这么说,拥有一个仅包含分区键的表是完全可以的,但在某些时候您可能需要一个排序键。

  • 要补充这个答案:如果没有排序键并且对访问模式没有很好的理解,您将被迫要么进行扫描(在读取容量单位和时间方面非常密集),要么使用多个索引(这可能会滞后)落后于实际数据更新)。如果您需要通过唯一主键以外的某种方法查找数据。上面答案中的#1 是精心设计访问模式发电机表的完美理由。 (3认同)