记住在 DynamoDB 中使用尽可能唯一的分区键在分区之间均匀分布项目的最佳实践,我遇到了一个问题。
假设我的表存储诸如users
和items
之类的项目devices
。我将这些项目中的每一个的 id 存储为分区键。每个 id 都以其类型为前缀,例如user-XXXX
, item-XXXX
& device-XXXX
。
现在的问题是如何只查询某种类型的对象?例如我想检索 all users
,我该怎么做?如果begin_with
允许运算符用于分区键,那么我可以搜索前缀,但分区键只允许相等运算符,这是可能的。
如果现在我使用我的类型作为分区键,例如,user
作为分区键,然后user-id
作为排序键,它会起作用,但它只会导致几个分区键,从而导致热键问题。创建多个表是一种不好的做法。
欢迎任何建议。