结构化存储中的Lazy索引和Eager索引是什么意思?

场景:在研究小米开放平台中的结构化存储功能。
文档:http://dev.xiaomi.com/doc/?p=1958
问题:遇到如下这样一段话,对其中的概念不是很理解。

主键 (Primary Key) - 必选,由一到多个表属性组成
所有其余属性按照主键顺序存储,根据主键读取/写入数据时,记1个单位的读/写配额
局部二级索引 (Local Secondary Index) - 可选,使用局部二级索引必须要定义实体组键, 由一个到多个表属性组成。索引分为索引分为lazy和eager两种类别:

  • Lazy 索引 - 此类型的索引不支持投影属性和唯一索引。写入时,消耗1个写配额。读取时,消耗 2个读配额
  • Eager 索引 - 此类型的索引可以支持唯一索引 (Unique Index),并且可以定义一组属性作为 投影(Projection),与索引存储在一起(可视为主记录中对应属性的一份拷贝,并且属性值保持强 一致)。索引写入时,会消耗1个单位的读配额和1个单位的写配额,如果是唯一索引,则需要消耗1个 额外的读配额。通过索引读取时,如果只需要读取索引中的属性或投影属性,则只消耗1个读配额。否则, 如果请求读取的属性需要从主记录中读取,则总共需要消耗2个读配额

具体问题:

  1. 什么是Lazy索引和Eager索引?
  2. 什么是Eager索引种可以定义一组属性作为 投影(Projection)?
阅读 3.7k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏