快照Snapshot-leveldb源码剖析(14) 发表评论 leveldb基于SequenceNumber实现了快照,做到读写隔离,数据库不断写入新数据的同时,仍然可以通过快照读取到旧数据;另一方面,多线程并发访问情况下也无需采取额外的同步措施就可做到安全的访问。阅读全文
版本控制VersionEdit-leveldb源码剖析(13) 发表评论 每做一次Compaction就会在当前版本的基础上生成新的版本,代表当前数据库内存数据和磁盘文件的存活状态,版本的变化以VersionEdit增量的形式写入MANIFEST文件,数据库恢复时也基于此进行重建。阅读全文
DB写Put-leveldb源码剖析(12) 发表评论 写操作会封装成WriteBatch,然后再写MemTable,为防止过量写影响读的效率,会有一定策略来限制写,本篇将分析具体调用流程及详细实现。阅读全文