LSM(日志结构合并树)_笔记
创始人
2024-05-28 19:50:56
0

WAL:Write Ahead Log 写前日志,顺序日志文件

1 LSM tree的定义

LSM tree:
Log-Structured-Merge-Tree,日志结构合并树。

Log-Structured Merge-tree (LSM-tree) is a disk-based data structure designed to provide low-cost indexing for a file experiencing a high rate of record inserts (and deletes) over an extended period.

可以认为,LSM tree是内存的树磁盘文件的树的集合。
如LSM的内存中的memtable可以使用B+Tree实现、磁盘上面的每层sst文件也可以使用B+Tree实现。

2 LSM tree的组成

LSM tree包括三个部分:

  1. MemTable,
  2. Immutable MemTable,
  3. SSTable(Sorted String Table)
    在这里插入图片描述

2.1 MemTable

MemTable 是内存中的数据结构,用于保存最近更新的数据,会按照 Key 有序地组织这些数据。
可以是红黑树、跳表等。

2.2 Immutable MemTable

内存数据持久化到磁盘时增加的缓存。

2.3 SSTable

有序键值对集合。文件结构基本思路就是先划分为数据块,然后再为数据块建立索引,索引项放在文件末尾。

当某层的SSTable数量大小达到阈值,会通过 Compact 策略将其转化到下一层。
有两种基本策略:

  1. size-tiered 策略
  2. leveled 策略

3 LSM tree的操作

利用顺序写来提高写性能,代价就是会稍微降低读性能(读放大),写入量增大(写放大)和占用空间增大(空间放大)。

3.1 LSM tree的插入、修改、删除

LSM 树的插入、修改、删除都是在 L0 层的树里操作,并记录记录项的时间戳。

3.2 LSM tree的查找

查找只需从 L0 层往下查,直到查到某个 key 的记录就可以了。

4 LSM tree的与B+tree对比

  1. LSM tree吞吐量高写入性能高;
    LSM 树不需要磁盘 IO,直接操作内存,单次插入耗时短,所以其写入的最大吞吐量是高于 B+ 树的。
  2. LSM tree查找效率低;
    查找时, LSM tree需要遍历所有层次的树,查找效率上要低于 B+ 树。
  3. 并发控制和故障恢复方面:
    在这里插入图片描述

5 LSM tree的应用

LSM 树主要被用于 NoSql 数据库中,如 HBase、RocksDB、LevelDB 等。
TiDB 的底层存储也是用的 LSM 树。

6 小结

LSM tree特点:顺序写入、Compact 操作、读、写和空间放大。
LSM tree适用场景:对于写操作吞吐量要求很高、读操作吞吐量要就较高的场景,目前主要在 NoSql 数据库中用的比较多。

相关内容

热门资讯

主持人台词 主持人台词大全  导语:在剧作中,台词是一种重要的手段和方法,可以用来刻画人物的性格特征,可以用来展...
封顶仪式致辞 封顶仪式致辞  在平凡的学习、工作、生活中,大家都写过致辞吧,致辞具有很强的实用性和针对性。究竟什么...
唯美中式婚礼主持词 唯美中式婚礼主持词五篇  活动对象的不同,主持词的写作风格也会大不一样。我们眼下的社会,主持词是活动...
商会会长中秋致辞 商会会长中秋致辞尊敬的各位领导、各位来宾、女士们、先生们:大家好! 金风送爽、春华秋实,又是一年一度...
学校庆祝教师节座谈会主持词 2021年学校庆祝教师节座谈会主持词  根据活动对象的不同,需要设置不同的主持词。在当今中国社会,主...
主持的谢幕词 有关主持的谢幕词(通用10篇)  导语:谢幕是指演出结束后观众鼓掌时,演员站在台上向观众弯腰敬礼答谢...
一年级新队员入队仪式主持词 一年级新队员入队仪式主持词  主持词是各种演出活动和集会中主持人串联节目的串联词。在人们越来越多的参...
《老表,你好Hea》经典台词 《老表,你好Hea》经典台词  1.我是林在野,我的人生只有一个目标,就是抗议。——林在野  2.我...
艺术节闭幕式闭幕词 艺术节闭幕式闭幕词(通用6篇)  契合现场环境的闭幕词能给集会带来双倍的效果。在如今这个中国,闭幕词...
元旦茶话会主持词 元旦茶话会主持词6篇  一年的新年的钟声即将敲响,时光的车轮又留下了一道深深的印痕。有很多学校班级或...
入队仪式主持词 入队仪式主持词  一、什么是主持词  由主持人于节目进行过程中串联节目的串联词。如今的各种演出活动和...
幼儿园元旦文艺汇演节目串词 幼儿园元旦文艺汇演节目串词幼儿园2011年元旦文艺汇演节目串词a:尊敬的各位领导、各位家长b:亲爱的...
婚礼宴会致辞 婚礼宴会致辞(集锦15篇)  在平日的学习、工作和生活里,要用到致辞的地方还是很多的,致辞具有有张有...
座谈会主持词 座谈会主持词  主持词的内容  主持词:一般由开场白、中间部分与结束语组成。  开场白:演出或其他开...
论坛原创作品朗诵晚会主持词 论坛原创作品朗诵晚会主持词电力网”溪水论坛”原创作品朗诵晚会晚会监督:一秀.北京诗鸽晚会男主持:骑士...
郭德纲相声梦中婚台词 郭德纲相声梦中婚台词  导语:相声用笑话、滑稽地问答、说唱等引起观众发笑的一种曲艺形式。用笑话、滑稽...
父亲生日祝寿词 父亲生日祝寿词父亲生日祝寿词各位亲友、各位来宾:晚上好!首先我代表我们*氏家族向各位的光临表示热烈的...
歌咏比赛主持词 歌咏比赛主持词(精选10篇)  根据活动对象的不同,需要设置不同的主持词。在当今中国社会,主持成为很...
全体教师会主持词 全体教师会主持词  主持词的写作需要将主题贯穿于所有节目之中。在当今社会生活中,很多场合都需要主持人...
清明诗会主持词 清明诗会主持词  主持词是主持人在台上表演的灵魂之所在。时代不断在进步,主持人参与的事情越来越多,主...