DynamoDB - 排序键属性名称

DynamoDB - Sort key attribute name

在 DynamoDB 中使用散列和 range/sort 键创建复合键时,将创意字符串值存储在排序键中似乎非常有用(例如“Details-123456-foo”,其中每个段在该值对于该记录可能是有意义的)。在设计架构时,这些文档似乎也能引导您朝那个方向前进。

也就是说,将排序键命名为通用名称(例如“sortKey”或“rangeKey”)而不是特定名称(例如“createTimestamp”)是否有意义,以便您可以灵活地存储各种数据相同的散列键,从而在使用“查询”API 和 hash/sort 键时保持快速数据访问?

是的,DynamoDB 的最佳做法是为主键和排序键使用通用名称。

当您按预期使用 DynamoDB 时,您将不同类型的项目存储在一个 table 中。主键和排序键的项目类型特定键名称不适用于此。使用 GSI overloading.

时也是如此

让我们以博客的用例为例,您有 post 条评论和要存储在同一个 DynamoDB table 中的评论。在这种情况下,每个 post 和评论都有某种唯一的 ID。与其命名主键 "post_id",不如一般地调用它(例如 "id"),并通过将它们的类型添加到值("post_1",存储 posts 和评论"post_2"、"comment_1"、...)。这同样适用于排序键,因为根据键类型,您可能希望按不同的标准排序。