LSM-based storage techniques: a survey论文阅读笔记

1、索引结构的更新可以采取两种策略:in-place update和out-of-place update两种更新策略
2、in-place update:例如B+树。这种更新方式往往是读优化,因为它存储的是每条记录的最新版本;但是写性能较差,因为更新数据会带来大量I/O操作。同时,更新和删除操作会导致索引页碎片化,降低空间利用率。
3、out-of-place update:例如LSM-tree。采用顺序写入来提高写性能。同时简化了数据复原操作,因为旧数据不会被覆盖。但是读性能又下降了,因为一条记录可能存在多个地方。此外,这样的结构通常需要一个数据重组过程,以不断提高存储和查询效率。
4、在LSM-tree之前,日志结构化存储的方法存在几个关键问题。首先,将数据存储在仅有附录的日志中会导致低查询性能,因为相关的记录都散落在日志中。其次,由于过时记录没有被及时删除,空间利用率较低。缺乏原则性的成本模型来分析写入成本、读取成本和空间利用率之间的权衡,这使得早期的日志结构化存储难以调整,data reorganization很容易成为性能瓶颈。
5、这个时候,通过设计一种合并策略,LSM-tree横空出世
6、影响LSM-tree所有后续实现和改进的原则:在稳定的工作负载下,层数保持不变,当所有相邻组件之间的大小比Ti=|Ci+1|/|Ci|相同时,写性能得到优化
7、今天的LSM树实现——通常使用跳表或B+树等并发数据结构来组织内存组件,而使用B+树或排序字符串表(sorted-string tables, SSTables)来组织磁盘组件。SSTable包含一个数据块列表和一个索引块:数据块存储按键排序的键值对,索引块存储所有数据块的键范围。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值