我一直在阅读Amazon DynamoDB文档,以比较全局二级索引(GSI)和本地二级索引(LSI)。我仍然不清楚在以下用例中,我使用的内容对我有关系吗?我熟悉LSI之类的东西,应该使用相同的分区键等。
这是用例:
在上述用例中,除了LSI Vs GSI中的较小延迟增加之外,绝对没有区别,因为LSI可能最终以相同的碎片结尾。我想在用例中了解Pro Vs Con。
以下是我要寻找答案的一些问题,但我还没有遇到一个明确的博客:
是否还有其他主要原因,其中一个要优于另一个(除非计数限制为5 vs 20等所有基本条件)。
答案 0 :(得分:0)
还有两个未提及的关键区别。您可以在official documentation中看到两种索引类型的完整比较。
AWS general guidelines用于索引说
通常,您应该使用全局二级索引而不是本地二级索引。例外是当您需要查询结果具有高度一致性时,本地二级索引可以提供该一致性,而全局二级索引则不能(全局二级索引查询仅支持最终一致性)。
您可能还会发现this SO answer有用的讨论,关于为什么您应该首选GSI而不是LSI。