摘要: 最初的写入流程,继承自 leveldb,多个 写线程组成一个 group, leader 负责 group 的 WAL 及 memtable 的提交,提交完后唤醒所有的 follwer,向上层返回。 支持 allow_concurrent_memtable_write 选项,在1的基础上,leader 提交完 WAL 后,group 里所有线程并发写 memtable。

点此查看原文

最初的写入流程,继承自 leveldb,多个 写线程组成一个 group, leader 负责 group 的 WAL 及 memtable 的提交,提交完后唤醒所有的 follwer,向上层返回。

支持 allow_concurrent_memtable_write 选项,在1的基础上,leader 提交完 WAL 后,group 里所有线程并发写 memtable。原理如下图所示,这个改进在 sync=0的时候,有3倍写入性能提升,在 sync=1时,有2倍性能提升

支持 enable_pipelined_write 选项,在2的基础上,引入流水线,第一个 group 的 WAL 提交后,在执行 memtable 写入时,下一个 group 同时开启,已到达 Pipeline 写入的效果。

RocksDB 写入流程详解

扫描二维码获取更多消息:
RocksDB 写入流程详解

相关文章:

  • 2021-10-03
  • 2021-10-05
  • 2021-12-03
  • 2021-09-22
  • 2021-09-29
  • 2021-10-04
  • 2021-08-21
  • 2021-05-25
猜你喜欢
  • 2021-09-15
  • 2021-07-01
  • 2021-08-23
  • 2021-08-31
  • 2021-09-23
相关资源
相似解决方案