Skip to content

Latest commit

 

History

History
66 lines (34 loc) · 2.2 KB

README.md

File metadata and controls

66 lines (34 loc) · 2.2 KB

goleveldb 代码学习

goleveldb 是 Leveldb 的 go 版本实现,基本实现了 LSM Tree 所有的功能,非常具有学习意义

本仓库是拉出来写注释的,记录最详细的学习过程。LSM Tree

源码博客

模块学习

cache

filter

iterator

journal

memdb

opt

storage

table

Python 解析 leveldb/rocksdb

这几个 Python 脚本是奇伢深入理解 LSM Tree 的数据结构之后,用 Python 写的解析规则,能够解析 leveldb 和 rocksdb 的 manifest 文件和 sst 文件,并且是兼容的。理解它们能让你更加深入了解 LSM 的设计。

解析 Manifest 文件:

截图如下:

manifest 的 journal 结构:

sst 的增删日志:

当前在用的 sst 文件:

解析 sst 文件

sst 文件的 block 信息: