leveldb 源码笔记之 Read 2016-09-10 distribute system leveldb key逻辑分类 根据我们之前文章的描述,leveldb的数据存储可能存在在内存的memtable中,或者磁盘的sstalbe中,但是key的实 阅读更多
leveldb 源码笔记之 Compact 2016-09-06 distribute leveldb 简介 leveldb中只有minor compaction 和 major compaction两种 代码中通过调用DBImpl::MaybeScheduleCompaction 阅读更多
leveldb 源码笔记之 MVCC && Manifest 2016-08-24 distribute system leveldb MVCC 问题: 针对同一条记录,如果读和写在同一时间发生时,reader可能会读取到不一致或者写了一半的数据 常见解决方案 悲观锁: 最简单的方式,即通过 阅读更多
leveldb 源码笔记之 sstable 2016-08-22 distribute system leveldb sstable 组成细节 如下: sstalbe 生成流程 sstable 生成时机: minor compaction immutable-memtable 中的key/value dump到磁盘,生成sstable major compaction sstable compact(level-n ss 阅读更多
leveldb源码笔记之 Write 2016-08-18 distribute leveldb 插入一条K/V记录 持有Writer的线程进入Writers队列,细节如下: MakeRoomForWrite的流程图: 记录会首先写入磁盘上的b 阅读更多