论文阅读(9):lsbmtree

论文介绍了LSbM-tree,一种解决传统LSM-tree(如leveldb)中缓冲缓存因compaction失效问题的方法。LSbM-tree在每个级别增加了一个无序块(SMtree),并采用特定策略处理compaction,保持缓存的有效性和范围查询效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述

LSbM-tree: Re-enabling Buffer Caching in Data Management for Mixed Reads and Writes

本文主要针对的问题是,在如leveldb等传统lsmtree的kvstore中,普通的buffercache会在compact过程之后失效,因为Ci+1层的重排序会导致已经缓存的block位置变化

现有的其他替代策略:

  1. cache中存放的是kvpair,不会随着compact失效。但在应对范围查询以及存在局部性的情况,没有办法起到buffer的作用。
  2. 专用的compact服务器,使用增量热身算法,在compact过程中,替换buffercache为新compacted的dataset,但作者通过实验证明,并不是很有效。(这部分感觉理解的有问题)
  3. stepped-merge算法:每个level中的data并不是完全有序,而只在compact到下一level时才会重排。这样可以显著减少缓存无效的情况。但因为data不是完全有序,在范围查询时效率不高,而且,因为重复数据不会被检测,所以可能会额外消耗磁盘空间。
本文提出的解决方法 lsbmtree

就像上面图中显示的一样,在原始的LSMtree(ci)之外,增加了SMtree(bi),每层blocks间无序,block内部有序,当ci满要compact到ci+1时,将bi对应的所有block重排序,append到bi+

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值