![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LSM学习分享
文章平均质量分 72
春哥的嵌入式小世界
喜欢写一写个人总结和分享自己学到的东西,如果这些文章能帮到你,请给个关注。也欢迎大佬指导我。
展开
-
LSM学习分享——compact策略
详细介绍在LSM学习分享——LSM读写流程中提到的copaction操作。主要介绍两种基本策略:size-tiered和leveled。前提知识: (1)、读放大:读取数据时实际读取的数据量大于真正的数据量。例如在LSM树中需要先在MemTable查看当前key是否存在,不存在继续从SSTable中寻找。 (2)、写放大:写入数据时实际写入的数据量大于真正的数据量。例如在LSM树中写入时可能触发Compact操作,导致实际写入的数据量远大于该key的数据量。 (...原创 2021-10-05 22:12:45 · 588 阅读 · 0 评论 -
LSM学习分享——LSM读写流程
LSM读写示意图LSM树的写入流程: 1、当收到一个写的请求时,会把这个操作写入到WAL日志中,用作故障恢复。 2、写完wal之后会把这条数据写入sstable的内存中Memtable。 3、当Memtable超过一定的大小后,会在内存里面冻结,变成不可变的Memtable,同时为了不阻塞写操作需要新生成一个Memtable继续提供服务。 4、把内存里面不可变的Memtable给dump到硬盘上的SSTable层中,此步骤也称为Minor Comp...转载 2021-10-02 22:10:04 · 926 阅读 · 0 评论 -
LSM学习分享——初识LSM
LSM简介: LSM(Log-Structured-Merge-Tree)数据结构是很多存储引擎的底层数据结构,如LevelDB,RocksDB,HBase等。 LSM树由Patrick O'Neil等人在论文《The Log-Structured Merge Tree》中提出,它实际上不是一棵树,而是2个或者多个树或类似树的结构(注意这点)的集合。我更喜欢把LSM-tree理解成一个存储结构。 LSM对写性能要求比较高,写性能有显著提升,但牺牲了一点读性能,读性能不...转载 2021-10-02 12:04:20 · 892 阅读 · 0 评论