leveldb的write代码初看瞎搞一堆,细看则实为短小精悍。 1 Status DBImpl::Write(const WriteOptions& options, WriteBatch* my_batch) { 2 // A begin 3 Writer w(&mutex_); 4 w.bat ...
分类:
数据库 时间:
2018-11-09 18:21:18
阅读次数:
211
leveldb将数据库的有关操作都定义在了DB类,它负责整个系统功能组件的连接和调用,是整个系统的脊柱。level::DB是一个接口类,真正的实现在DBimpl类。
作者在文档impl.html中描述了leveldb的实现,其中包括文件组织、compaction和recovery等等。DBimpl的成员变量包括:字符比较器internal_comparator_、配置类options_、bool型...
分类:
数据库 时间:
2015-08-20 19:03:31
阅读次数:
203
leveldb将数据库的有关操作都定义在了DB类,它负责整个系统功能组件的连接和调用,是整个系统的脊柱。level::DB是一个接口类,真正的实现在DBimpl类。
作者在文档impl.html中描述了leveldb的实现,其中包括文件组织、compaction和recovery等等。DBimpl的成员变量包括:字符比较器internal_comparator_、配置类options_、bool型...
分类:
数据库 时间:
2015-08-20 13:10:12
阅读次数:
213
到此为止,基本上leveldb的主要功能组件都已经分析完了,下面如何把它们组合在一起形成一个高效稳定的数据库,这就是DBimpl类和compact进程的工作。
campact进程
为了均衡读写的效率,sstable文件分层次(level)管理,db预定义了最大的level值。compact负责将memtable持久化成sstable,以及均衡整个db中各level的sstable。
版本控制
当执行...
分类:
数据库 时间:
2015-07-24 18:25:43
阅读次数:
225