Day1 导论
leveldb是一个KV存储引擎,作为Google 经典论文BigTable的存储底层引擎,没有使用经典的存储数据结构--B+树,而是使用了LSM树,同时为BigTable引入了SST的概念。
什么是LSM树?
LSM树论文:http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.44.2782&rep=rep1&type=pdf
中文介绍:https://zhuanlan.zhihu.com/p/361699941
LSM树相比于B+树,带来了什么?
1.LSM树放弃了b+树的一些读性能,带来了极高的写吞吐量
2.基于LSM的KV引擎,相比于传统的关系型数据库,有更高的灵活性,属于nosql
3.LSM实现简单(ps:对我这种笨蛋来说很重要)
LSM存储应用现状
LSM树自从在Google应用之后,在全球兴起了一阵使用LSM树写数据库的浪潮,应用主要有:
1.Zookeeper等KV数据库的底层
2.Facebook RocksDB
3.阿里巴巴OceanBase
4.PingCap TiDB
等等
总结与展望
LSM树的兴起带来了一阵数据库发展的浪潮,因此非常值得我们学习,leveldb作为LSM树的经典实现,代码只有5000多行,对于数据库从业者,可以说是必读的项目。因此出此专栏,带大家读一遍LevelDB。
文章转载自当代孔乙己,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




