键值存储服务 KVS-本地二级索引与全局二级索引有什么区别?
本地二级索引与全局二级索引有什么区别?
本地二级索引和全局二级索引之间的对比如表1所示。
每个索引属于一个表,该表称为索引的主表。
对比维度 |
本地二级索引 |
全局二级索引 |
---|---|---|
概念 |
对于复合主键(分区键+排序键)的表,支持创建本地二级索引,实现分区键下的多个键值的辅助索引。 |
表支持创建非主键字段的全局检索,全局二级索引只保存索引记录,不保存完整键值内容。 |
应用场景 |
创建一个用户运动信息统计表,此表包含属性:用户名、所在城市、运动时长、运动日期、热量消耗。 主索引的分区键为用户名,排序键为运动时长;本地二级索引的排序键为运动日期,通过该索引可快速查询某一天的运动时长最长或最短的用户信息。 |
创建一个用户运动信息统计表,此表包含属性:用户名、所在城市、运动时长、运动日期、热量消耗。 主索引的分区键为用户名,排序键为运动时长;全局二级索引的分区键为所在城市,排序键为热量消耗,由于主键字段会投影到全局二级索引的键值中,即全局二级索引记录中包含用户名和运动时长的信息,通过该索引可快速查询到在某城市热量消耗最多或者最少的用户信息。 |
键架构 |
复合主键(分区键和排序键)。 |
简单主键(分区键)或复合主键(分区键和排序键)。 |
特点 |
分区键与主表相同但排序键不同。 |
分区键和排序键可与主表中的对应键不同。 |
一致性 |
KV写入时,自动生成并存储本地二级索引记录,并保证KV写入与本地二级索引记录的强一致。 |
KV写入时,自动生成索引记录,并异步写入全局二级索引,KV写入与全局二级索引记录为最终一致。 |
创建数量 |
一个表最多支持创建5个本地二级索引。 |
一个表最多支持创建20个全局二级索引。 |