08 2021 档案
摘要:LevelDB的BlockHandle和Footer和读取block 主要作用就是记录一个block在sstable文件中的偏移量和大小 代码:table/format.h和table/format.cc class BlockHandle { public: // Maximum encoding
阅读全文
摘要:LevelDB的block(block是sstable文件的存储单元) blokc的存储结构: # entry是表示一个key-value的条目 # restarts是每一轮前缀压缩时在block中的偏移量offset # num_of_restarts是重新进行前缀压缩的次数 # trailer是
阅读全文
摘要:LevelDB的批处理(Batch) 主要是两个类,db/write_batch_internal.h,include/leveldb/write_batch.h,db/write_batch.cc namespace leveldb { class MemTable; // WriteBatchI
阅读全文
摘要:LevelDB的memtable(内存中的数据) 存储在内存中的memtable的结构是跳表,有一个逻辑,当memtable的size达到了阈值后,就会将memtable转变为只读的imutable memtable,然后新生成一个memtable 代码文件:db/memtable.h,db/mem
阅读全文
摘要:LevelDB的InternalKey和LookupKey InternalKey是在数据库内部使用的key,其实就是将普通的string类型的key封装了 LookupKey也是用来封装用户的key,作用是用来内部查询的时候使用 class InternalKey; // Value types
阅读全文
摘要:LevelDB的过滤器(默认是布隆过滤器) 过滤器接口:include/leveldb/filter_policy.h namespace leveldb { class Slice; class LEVELDB_EXPORT FilterPolicy { public: virtual ~Filt
阅读全文
浙公网安备 33010602011771号