rocksdb读/写/空间放大分析 发表评论 rocksdb基于Log-Structured Merge (LSM) Trees,分析rocksdb存储引擎的读写空间放大比例,即主要对LSM Trees结构进行分析,相关基础概念以论文A Comparison of Fractal Trees to Log-Structured Merge (LSM) Trees中的定义为准。阅读全文
并发写-RocksDB源码剖析(3) 发表评论 中分析了leveldb的写流程,当写线程获取锁将本次写数据(含WriteBatch)放入写队列后却不是队首写线程时,线程本身会阻塞等待直至队首线程写完毕,锁粒度比较大,相较于leveldb,rocksdb对于多线程下并发写入做了很多细节上的优化,让我们来一一分析。阅读全文
Column Family-RocksDB源码剖析(1) 发表评论 自从RocksDB 3.0引入支持column family,每个KV数据对能够指定关联唯一的column family(默认为“default”),做到相对独立的隔离存储;column family提供了逻辑上划分数据库的能力,支持跨column family进行原子写操作(借助WriteBatch实现)等。阅读全文
Arena内存管理优化-RocksDB源码剖析(0) 发表评论 相比leveldb,rocksdb对内存块的分配主要做了两点改进:一是抽象出内存分配Allocator,支持对不同内存管理策略进行定制扩展;二是启用HugePage支持,提高大内存机器下内存分配和访问的性能。阅读全文