引言
leveldb是一个开源的单机KV存储库,其作者是谷歌工程师Jeff Dean和Sanjay Ghemawat。很多开源LSM存储引擎都基于或使用leveldb,例如rocksdb。
1 源码下载
- 源码下载地址:
https://github.com/google/leveldb
2 环境配置
3 源码简介
关键源码目录介绍:
- db 数据库功能核心实现模块;
- include 对外API头文件模块;
- port 跨平台宏定义模块
- table 数据存储功能模块
- third_party 目前只有测试框架
- util 基础功能包
其中,db和table是功能的核心,部分数据结构在util中。如果没做过数据库引擎的人,建议看代码以db目录为起点;然后基于API使用用例阅读和理解代码。
此外,还有其他benchmarks(基准测试)、helpers(Env的一个具体实现)、doc(文档)等目录。