RocksDB 写入流程详解

简介: 最初的写入流程,继承自 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倍性能提升,参考Concurrent inserts and the RocksDB memtable
  • 支持 enable_pipelined_write 选项,在2的基础上,引入流水线,第一个 group 的 WAL 提交后,在执行 memtable 写入时,下一个 group 同时开启,已到达 Pipeline 写入的效果。

_2018_01_29_11_33_08

相关文章
|
9月前
|
数据采集 人工智能 监控
开源 AI 视频监控系统:基于多模态感知的全链路智能交互技术方案
本系统构建了多模态数据采集、高精度识别、智能决策与低延迟交互的全链路技术架构,融合动线热图生成、多设备协同、实时流处理与低代码开发等关键技术,实现顾客行为精准洞察与跨终端智能服务闭环,赋能智慧零售场景。
612 11
|
存储 NoSQL 网络协议
PG内核解读-第1节PostgreSQL系统概述
本文整理自阿里云数据库开源社区Maintainer于巍(花名漠雪),在PostgreSQL数据库内核解读系列的分享。本篇内容主要分为四个部分: 1. 本系列教程介绍 2. PostgreSQL概述(历史、架构) 3. PostgreSQL安装启动 4. PostgreSQL常用命令、调试
PG内核解读-第1节PostgreSQL系统概述
|
JSON 算法 Java
Nettyの网络聊天室&扩展序列化算法
通过本文的介绍,我们详细讲解了如何使用Netty构建一个简单的网络聊天室,并扩展序列化算法以提高数据传输效率。Netty的高性能和灵活性使其成为实现各种网络应用的理想选择。希望本文能帮助您更好地理解和使用Netty进行网络编程。
303 12
|
存储 SQL 缓存
|
存储 分布式计算 NoSQL
RocksDB:高性能键值存储引擎初探
RocksDB:高性能键值存储引擎初探
|
存储 文件存储
LabVIEW使用项目管理器
LabVIEW使用项目管理器
445 0
|
监控 大数据 应用服务中间件
epoll的水平触发LT以及边沿触发ET的原理及使用及优缺点
epoll的水平触发LT以及边沿触发ET的原理及使用及优缺点
1267 0
|
消息中间件 Java
RabbitMQ之ttl(过期消息)解读
RabbitMQ之ttl(过期消息)解读
|
存储 Web App开发 缓存
RISC-V处理器介绍|学习笔记
快速学习RISC-V处理器介绍
1638 0
RISC-V处理器介绍|学习笔记
|
JavaScript 定位技术
VUE之高德地图轨迹绘制与轨迹回放
VUE之高德地图轨迹绘制与轨迹回放
1587 0
VUE之高德地图轨迹绘制与轨迹回放