Clickhouse相关 LSM

全称 Log-Structured Merge-Tree 日志结构合并树,但不是树,它是利用了磁盘顺序读写能力,实现了一个多层的存储结构

这篇文档讲的非常简单清晰,适合入门 https://zhuanlan.zhihu.com/p/378370316

LSM算法的几个核心步骤:

  • 在于数据写入存储系统前首先记录日志,防止系统崩溃
  • 记录完日志后在内存中以供使用,当内存达到极限后写入磁盘,记录合并次数Level为0(L=0)。已经写入-磁盘的文件不可变。
  • 每过一段时间将磁盘上L和L+1的文件合并

这两篇文档讲解就非常详尽,适合深入

  1. 讲到从传统数据库的背景开始,B树等这些方式都将总体的结构信息强加在了数据上,数据必须按照特定的方式存储,当需要保存数据到磁盘时就有一个明显的缺陷,逻辑上相距很近的数据在物理上却可能相隔很远,这就可能造成大量的磁盘随机写,严重影响写操作性能。
    • 以 B-Tree 的一个随机写操作为例,整个过程分两步进行,对于随机 key 的写操作平均需要两次 IO
      1)从磁盘查找目标 key 应该存储的块节点并加载到内存
      2)修改目标节点内容再将其写回磁盘
    • 基于磁盘随机操作慢,顺序读写快的特性,如果要提高写操作性能,最好避免随机写,设计成顺序写。在高性能读操作与高性能写操作不可兼得的情况下,需要面对不同的场景做出取舍,而 Log-Structured Merge-Tree 就是一个权衡的产物
    • 日志化结构合并树(Log-Structured Merge-Tree)是一种分层、有序、面向磁盘的数据结构,其核心思想是充分利用磁盘批量的顺序写远比随机写高效的特性,放弃部分读效率换取最大化的写操作效率.我们知道最大化发挥磁盘特性的使用方式是一次性地读取或写入固定大小的一块数据,并尽可能地减少随机寻道操作。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值