Skip to content

完整的 LevelDB 学习过程,产出最详细的代码注释。欢迎相互交流学习。关注公众号:奇伢云存储,获取更丰富的分享。

License

Notifications You must be signed in to change notification settings

liqingqiya/readcode-goleveldb-master

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 信息:

About

完整的 LevelDB 学习过程,产出最详细的代码注释。欢迎相互交流学习。关注公众号:奇伢云存储,获取更丰富的分享。

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 95.9%
  • Python 4.1%