【发布时间】:2020-09-10 12:27:45
【问题描述】:
记住在 DynamoDB 中使用尽可能唯一的分区键在分区之间均匀分布项目的最佳实践是,我遇到了一个问题。
假设我的表存储users、items 和devices 等项目。我将每个项目的 id 存储为分区键。每个 id 都以其类型为前缀,例如 user-XXXX、item-XXXX 和 device-XXXX。
现在的问题是如何只查询某种类型的对象?例如我想检索所有users,我该怎么做?如果分区键允许使用 begin_with 运算符,那么我可以搜索前缀,但分区键只允许 equality 运算符。
如果现在我使用我的类型作为分区键,例如,user 作为分区键,然后 user-id 作为排序键,它会起作用,但它只会导致几个分区键,从而导致热键问题。创建多个表是一种不好的做法。
欢迎提出任何建议。
【问题讨论】:
标签: amazon-dynamodb dynamodb-queries amazon-dynamodb-index