加载中...

LevelDB 是 Google 于 2011 年开源的嵌入式键值数据库,由 Jeff Dean 与 Sanjay Ghemawat 编写,思想源自 Bigtable 的 tablet 存储结构。它是一个 C++ 库而非独立服务,数据以有序键值对形式存储。
LevelDB 是 LSM 树的教科书式实现:写入先记 WAL 再进内存 MemTable(跳表实现),写满后转为不可变 SSTable 落盘;磁盘文件按 Level 0 到 Level 6 分层,通过 compaction 逐层向下合并,保证除 L0 外每层键区间不重叠。读路径依次查 MemTable、L0 与各层文件,并用布隆过滤器减少无效磁盘访问。
LevelDB 曾用于 Chrome 的 IndexedDB、Bitcoin Core 等项目,更重要的是它催生了 RocksDB 等一系列衍生引擎,成为 LSM 架构的启蒙教材。
单线程 compaction、缺少事务与列族等特性,使其在重负载生产场景中多被 RocksDB 取代。

登录 后参与讨论
暂无讨论,来发表第一条评论吧