将dynamodb属性设置为一个索引的分区键和另一个索引的排序键

时间:2018-04-24 21:58:39

标签: amazon-web-services indexing amazon-dynamodb

是否可以将属性作为一个索引的分区键和另一个索引的排序键?

例如,我有一个名为Events的表,其中包含属性userstatuscreated_at

我可以同时创建以下GSI吗? GSI user_status [userpartitionstatussort] GSI status_created_at [statuspartitioncreated_atsort]

1 个答案:

答案 0 :(得分:0)

这就是GSI的想法。简而言之:答案是肯定的。

但是,要小心创建GSI,其中您在一小组分区键上具有大量基数,例如您在状态上进行分区的第二个GSI示例。据推测,总共只有少数状态值,但对于每种状态,基数(具有相同状态的项目数)可能非常大。这可能是一个问题的原因是GSI,如表,受每个分区应用的读写容量限制。随着您的表格扩展,具有非常高基数的分区中的低分布可能导致性能不佳。