来自DynamoDB文档:
全局辅助索引-具有分区键和排序键的索引,可以与基表中的索引不同。全局辅助索引被认为是“全局的”,因为对索引的查询可以跨越基表中的所有数据,跨越所有分区。
本地辅助索引-具有与基表相同的分区键的索引,但具有不同的排序键。本地辅助索引是“本地的”,因为本地辅助索引的每个分区都限定为具有相同分区键值的基表分区。
这对我来说是没有意义的,再多的搜索也无法恰当地解释给我听。
有人能帮我理解这件事吗?
发布于 2018-05-22 19:59:38
当您将数据插入到DynamoDB时,它在内部对数据进行分区,并在内部存储不同的存储节点。这是基于分区键的。
假设您想要基于非键(分区或排序键)属性查询一个项,您需要使用扫描(因为它会检查表中的所有项),这是很昂贵的。
这就是GSI和LSI进来的地方。让我们以一个以StudentsId为排序键、SchoolId为分区键的Student表为例。
如果您的应用程序有类似于某所学校五年级所有学生的查询,LSI是非常有用的。
如果您需要查询所有五年级学生跨所有学校(跨越所有学校分区),您将需要一个GSI。
发布于 2018-06-20 12:18:38
本地辅助指数()
table时才能创建capacity units共享tableindex的partition key必须和table的partition key一样。table可以有5个LSI全球二级指数()
table项复制到索引table中,需要花费read capacity units of table)capacity unitattribute都可以是partition keytable可以有5个GSIhttps://stackoverflow.com/questions/50471852
复制相似问题