并发写-RocksDB源码剖析(3)

中分析了leveldb的写流程,当写线程获取锁将本次写数据(含WriteBatch)放入写队列后却不是队首写线程时,线程本身会阻塞等待直至队首线程写完毕,锁粒度比较大,相较于leveldb,rocksdb对于多线程下并发写入做了很多细节上的优化,让我们来一一分析。
阅读全文

Column Family-RocksDB源码剖析(1)

自从RocksDB 3.0引入支持column family,每个KV数据对能够指定关联唯一的column family(默认为“default”),做到相对独立的隔离存储;column family提供了逻辑上划分数据库的能力,支持跨column family进行原子写操作(借助WriteBatch实现)等。
阅读全文