Amazon DynamoDB 设置索引策略
Amazon DynamoDB set index strategy
我刚开始使用 dynamodb,我想正确设置一些索引。我有一个 table 对象,其中包含以下字段:
id -> 每个对象的唯一 ID
businessType -> 不是唯一的,您可以有多个具有相同业务类型的对象
checkType -> 不唯一,您可以有多个具有相同检查类型的对象
...其他领域(不重要)
现在想不用扫描也能高效查询:
1) 仅按businessType查询,获取所有具有特定businessType
的对象
2) 按businessType 和checkType 查询,得到所有具有特定businessType AND checkType
的对象
3) 仅按id查询,得到id唯一的对象
如何有效地设置索引以完成上述操作?
谢谢。
仅按业务类型查询,获取具有特定业务类型的所有对象:
创建索引 onk
2)通过businessType和checkType查询,得到所有具有特定businessType和checkType的对象
3) 仅按id查询,得到id唯一的对象
使用id
作为table的散列键。创建一个使用 businessType
作为散列键并使用 checkType
作为排序键的索引。
您的查询:
- 查询索引,但不指定排序键的值。
- 查询索引,同时指定businessType和checkType。 (索引的主键不需要是唯一的,所以你可以用这个查询得到多个项目。)
- 使用 get-item 通过其 id 加载单个对象。
我刚开始使用 dynamodb,我想正确设置一些索引。我有一个 table 对象,其中包含以下字段:
id -> 每个对象的唯一 ID
businessType -> 不是唯一的,您可以有多个具有相同业务类型的对象
checkType -> 不唯一,您可以有多个具有相同检查类型的对象
...其他领域(不重要)
现在想不用扫描也能高效查询:
1) 仅按businessType查询,获取所有具有特定businessType
的对象
2) 按businessType 和checkType 查询,得到所有具有特定businessType AND checkType
的对象
3) 仅按id查询,得到id唯一的对象
如何有效地设置索引以完成上述操作?
谢谢。
仅按业务类型查询,获取具有特定业务类型的所有对象:
创建索引 onk 2)通过businessType和checkType查询,得到所有具有特定businessType和checkType的对象 3) 仅按id查询,得到id唯一的对象
使用id
作为table的散列键。创建一个使用 businessType
作为散列键并使用 checkType
作为排序键的索引。
您的查询:
- 查询索引,但不指定排序键的值。
- 查询索引,同时指定businessType和checkType。 (索引的主键不需要是唯一的,所以你可以用这个查询得到多个项目。)
- 使用 get-item 通过其 id 加载单个对象。