leveldb源码学习—DB

77 阅读1分钟

祝大家2018新年快乐!继续学习了一下leveldb存储引擎模块的源码,请多多指教。---- 2018.02.23

leveldb通过顺序写来优化写的性能,避免b+树随机写导致的磁盘寻址延迟。但是读性能较低,触发文件合并时还会影响读取延迟的稳定性,适合写多读少的场景。未来发展会将键值分离,减少写放大的影响,提高合并性能与磁盘使用寿命。

10.leveldb整体架构

image.png

11.Get操作与迭代器

image.png

12.Write操作

image.png

13.初始化数据恢复

image.png

14.sst文件合并-选择文件

image.png

image.png

image.png

image.png

15.sst文件合并-归并排序

image.png