ejunjsh / myleveldb

my leveldb practice

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

myleveldb

看leveldb,加中文注释,顺便学c++

看代码之前建议看看这个:

使用和实现文档翻译

看代码路径

-> include/leveldb/status -> util/status -> util/arena -> include/leveldb/slice -> include/leveldb/filter_policy

-> util/hash -> util/filter_policy -> util/bloom -> util/logging -> util/mutexlock -> include/leveldb/cache

-> util/cache -> util/coding -> util/no_destructor -> include/leveldb/comparator/

-> util/comparator -> util/crc32c -> util/histogram -> include/leveldb/options -> util/options -> util/posix_logger

-> util/random -> include/leveldb/env -> util/env -> util/env_posix -> table/format -> table/block_builder

-> table/block -> table/filter_block -> include/leveldb/iterator -> table/iterator -> table/iterator_wrapper

-> table/merger -> table/two_level_iterator -> include/leveldb/table -> table/table

-> include/leveldb/table_builder -> table/table_builder -> db/skiplist -> db/log_format

-> db/log_reader -> db/log_writer -> db/filename -> include/leveldb/db -> db/dbformat

-> db/memtable -> db/snapshot -> db/table_cache -> db/version_edit -> db/version_set -> db/db_iter

-> include/leveldb/write_batch -> db/write_batch_internal -> db/write_batch -> db/builder -> db/db_impl

参考

leveldb源码

遇到问题看不懂,下面文章能给点提示:

sstable 格式

leveldb NoDestructor类解析

leveldb skiplist

leveldb 日志格式

leveldb 日志读取

leveldb 键

leveldb 高效存储实现

leveldb 版本控制

leveldb compaction

leveldb iterator

leveldb db_iter

leveldb compaction

leveldb db的Write方法

leveldb 读流程

leveldb 写流程

About

my leveldb practice

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:C++ 95.6%Language:C 2.8%Language:CMake 1.6%