Open utterances-bot opened 2 years ago
感谢博主的详细记录分享。有个ldb文件格式的问题,根据 https://github.com/google/leveldb/blob/main/doc/table_format.md 来看,data block 和 meta block 貌似不是一对一的关系,而是每一类 meta 信息自己存下一个 block(比如 filter 也属于一类 meta 信息),并在 meta index 中记录?我还没看源码,就是好奇问一下具体实现上是不是和文档有所出入。
感谢博主的详细记录分享。有个ldb文件格式的问题,根据 https://github.com/google/leveldb/blob/main/doc/table_format.md 来看,data block 和 meta block 貌似不是一对一的关系,而是每一类 meta 信息自己存下一个 block(比如 filter 也属于一类 meta 信息),并在 meta index 中记录?我还没看源码,就是好奇问一下具体实现上是不是和文档有所出入。
你好,我重新阅读了 table format 文档,与本文的描述确实有些出入。本文中描述的 meta block 实际上特指 filter 类型的 meta block,而我简单查阅了 sstable 部分的代码,目前也只看到 filter meta block 的实现。
等春节假期结束,我有时间再重新 Review 下这部分的代码并更新下文章哈。
非常感谢博主分享👍,文章内容深入浅出,通俗易懂。推荐配合sigmod22的 workshop,能对lsm的实现和优化有更深刻理解。
LSM-Tree 与 LevelDB 的原理和实现 · Analyze - beihai blog
beihai blog
https://wingsxdu.com/posts/database/leveldb/