Leveldb源码笔记之sstable

整体看下sstable的组要组成,如下:

sstalbe 生成细节

sstable 生成时机:

minor compaction

immutable-memtable 中的key/value dump到磁盘,生成sstable

major compaction

sstable compact(level-n sstable(s)与level-n+1 sstables多路归并)生成level-n+1的sstable

首先是写入data block:

data block都写入完成后,接下来是meta block:

然后是data/meta block索引信息data/meta index block写入:

最后将index block的索引信息写入Footer

一个完整的sstable形成!

Comments