Some Strategies for Reducing Write Amplification in LSM-tree

这篇具有很好参考价值的文章主要介绍了Some Strategies for Reducing Write Amplification in LSM-tree。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

写放大原理 

(6 封私信) 如何理解SSD的写放大? - 知乎 (zhihu.com)

Some Strategies for Reducing Write Amplification in LSM-tree,论文阅读,java,数据库,服务器

日志结构化合并树(LSM 树)

Some Strategies for Reducing Write Amplification in LSM-tree,论文阅读,java,数据库,服务器

LSM 树: 与应用就地更新的传统索引结构不同,LSM 树首先缓冲内存中的所有写入,然后将它们刷新到磁盘并使用顺序 I/O 合并它们。LSM 树设计包含一系列组件 C0、C1...Ck,Ci的结构为B+树。

优点:卓越的写入性能、有界查询性能和空间利用率、可调性、简化并发控制和恢复。

Some Strategies for Reducing Write Amplification in LSM-tree,论文阅读,java,数据库,服务器

就地更新结构:B+树。读取优化(存储每条记录的最新版本);更新会产生随机 I/O;索引页可能会因更新和删除而碎片化,从而降低空间利用率。

异地更新结构:LSM树。顺序 I/O(附加日志并合并);牺牲读取性能(相关记录分散在树中);需要单独的数据重组过程(压缩和GC)。

LSM 树合并策略

Some Strategies for Reducing Write Amplification in LSM-tree,论文阅读,java,数据库,服务器

今天的LSM树:不可变的磁盘组件并合并一个新的(简化并发控制和恢复);Ci可以使用任何索引结构实现,内存组件使用并发数据结构,例如跳过列表或B+树,磁盘组件使用B+树或排序字符串表(SSTables,包含数据块列表和索引块);这两种策略都将磁盘组件组织到逻辑级别(或层)中,并由大小比 T 控制。

调配合并策略:Ci+1 比 Ci 大 T 倍,导致 Ci+1 将与传入的 Ci 合并多次。查询优化,因为要搜索的组件更少

分层合并策略:每个级别最多维护 T 个组件。当级别 L 已满时,其 T 分量将合并为水平 L+1 的新分量。写入优化,因为它降低了合并频率。(同层允许有重复)

压缩:合并排序和写入 - >写入放大文章来源地址https://www.toymoban.com/news/detail-540678.html

众所周知的优化

  • 布隆过滤器:提高磁盘组件的点查找性能。
  • 分区:将磁盘组件范围分区为多个(通常是固定大小的)小分区(SSTable)。(1)将一个大组件合并操作分解为多个较小的合并操作,限制合并时间;(2) 通过仅合并具有重叠键范围的组件,优化具有顺序创建的键(无合并)或倾斜更新(减少合并范围)的工作负载

到了这里,关于Some Strategies for Reducing Write Amplification in LSM-tree的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包