你当像鸟飞往你的山
02
24
LevelDB源码: Compaction的流程(一) LevelDB源码: Compaction的流程(一)
博客只能分析部分,完整分析见代码注释:LevelDB-annotated 上一篇博客分析了 Flush 流程,本篇开始分析 Compaction 流程,后者相对于前者要复杂一些,主要体现在 Compaction SST 的选择。 Flush
2023-02-24
23
LevelDB源码: Flush的流程 LevelDB源码: Flush的流程
本文将从源码方面分析 Flush 的流程 博客只能分析部分,完整分析见代码注释:LevelDB-annotated 一般而言,分析一个流程要从入口点还是逐层向下分析,但这样带来的后果是主次的详略不当。通常,一种操作的核心函数只有一两个,
2023-02-23
19
LevelDB系列文章 LevelDB系列文章
LevelDB源码注释仓库:https://github.com/sakura-ysy/LevelDB-annotated LevelDB单元测试 LevelDB源码: 层级实现的思考 LevelDB源码: Flush的流程
2023-02-19
19
LevelDB层级实现的思考 LevelDB层级实现的思考
解答一个问题: SST 落盘后是固定的,在磁盘中是没有所谓层级结构的,那么 LSM-Tree 是怎么记录每一层有哪些 SST 的呢? 首先,肯定不能仅仅靠内存来记录,因为是不持久的。 那么,接下来就会想到文件指针,LSM-Tree 的每一个
2023-02-19
04
LevelDB单元测试 LevelDB单元测试
在学习 leveldb 源码的过程中,肯定少不了对特定函数或结构的测试。LevelDB几乎给每个关键的数据结构都写好了测试代码,我们可以直接使用,或者根据他的框架自己编写新的测试体,很方便。 但是,我不会用。。。 我看的源码是截止写这篇博客
2023-02-04