DynamoDB全局索引vs本地索引



如何在DynamoDB表中创建有效索引?我们需要使用全局索引还是本地索引?

选择其中一个而不是另一个的原因是什么?

全局二级索引和本地二级索引特性(分别为GSI和LSI)为您提供了不同的数据模型,您需要哪种数据模型取决于您的查询需求。

"local"索引(LSI)是指数据在不同的排序键下重新组织在一个分区键内("本地")。如果您只需要这样的重新排序,那么使用LSI会更有效,因为DynamoDB可以在同一位置读取基本表和索引。这允许您读取整个

同时,GSI允许您选择不同的列作为索引的分区键,基本上允许您索引任何列,而不仅仅是对现有分区重新排序。这更强大,但这意味着基本表和索引数据存储在不同的节点中,因此您只能从索引中读取您提前决定要包含在索引中的特定列。GSI的读数也不可能"强烈一致"。并且必须"最终一致"。-而使用LSI可以读取具有强一致性。

最新更新