![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
rocksdb
文章平均质量分 52
uestc-leon
我想做一个强者
展开
-
rocksdb合并原理
compaction主要包括两类:将内存中imutable 转储到磁盘上sst的过程称之为flush或者minor compaction;磁盘上的sst文件从低层向高层转储的过程称之为compaction或者是major compaction。对于myrocks来说,compaction过程都由后台线程触发,对于minor compaction和major compaction分别对应一组线程,通转载 2017-11-15 11:44:56 · 4558 阅读 · 0 评论 -
RocksDB 介绍
RocksDB相对传统的关系数据库的一大改进是采用LSM树存储引擎。LSM树是非常有创意的一种数据结构,它和传统的B+树不太一样,下面先说说B+树。RocksDB相对传统的关系数据库的一大改进是采用LSM树存储引擎。LSM树是非常有创意的一种数据结构,它和传统的B+树不太一样,下面先说说B+树。B+ 树上图是B+树的一个例子。 B+树根节点和枝节点分别记录每个叶转载 2017-11-15 11:55:57 · 22452 阅读 · 0 评论 -
RocksDB 的常用调优参数
RocksDB 的参数以其数据多和复杂著称,要全部弄懂也要费一番功夫,这里也仅仅会说一下我们使用的一些参数,还有很多我们也需要后面慢慢去研究。ParallelismRocksDB 有两个后台线程,flush 和 compaction,两个都可以同时并行执行。在优先级上面,flush 是 HIGH,而 compaction 是 LOW,也就是 flush 的优先级会比 compaction 更高,这也转载 2017-11-15 15:11:27 · 19501 阅读 · 0 评论 -
rocksdb对Write Stalls的调优
当我们持续大量插入数据的时候,会发现到了某一个时间,性能就突然下降了,如果突然出现了这样的情况,我们都会从 LOG 文件里或者 statistics 上面来确认是否出现了 write stall。Where Stall通常 write stall 会在几个地方出现Too many memtables当需要等待被 flush 到 level 0 的 memtable 到了或者超过了 max_write转载 2017-11-15 15:28:52 · 3911 阅读 · 0 评论 -
rocksdb线程池设计
特点可以设置线程池中线程的优先级,然而只有linux系统支持。可以动态增加或减少线程池中线程数量。接口class ThreadPool { public: virtual ~ThreadPool() {} // Wait for all threads to finish. // Discard those threads that did not start // execu原创 2017-11-15 22:20:20 · 1793 阅读 · 0 评论