leveldb

Ch12-LevelDB 之 Major Compaction

July 10, 2022
LevelDB
leveldb

在 Minor Compaction 完成的时候,会对新生成的 version 计算一次 compaction_level_ 和 compaction_score_。这两个参数决定了当前 version 的 是否需要做 Major Compaction。

...

Ch08-LevelDB 之 编码

May 30, 2022
LevelDB
leveldb

Endian-neutral encoding:
* Fixed-length numbers are encoded with least-significant byte first
* In addition we support variable length "varint" encoding
* Strings are encoded prefixed by their length in varint format
-- util/coding.h
...

Ch07-LevelDB 之 WAL

May 25, 2022
LevelDB
leveldb

WAL 一般用于故障恢复,其内容就是内存里 MemTable 内容的持久化,当一个 MemTable 写满后,开启一个新的 MemTable 时,也同时会开启一个新的 WAL,当 MemTable 被 Dump 到磁盘后,相应的 WAL 可以被删除。所以说控制每次 WAL 写入磁盘的方式,便可以控制最多可能丢失的数据量。

...