初识RocksDB

一、简介

RocksDB是一个可嵌入的,持久型的key-value存储。


二、特性

1.高性能

  RocksDB使用一套日志结构的数据库引擎,为了更好的性能,这套引擎是用c++编写的。Key和Value是任意大小的字节流。

2.为快速存储而优化

  RocksDB为快速又低延迟的存储设备(例如闪存或者高速硬盘)而特殊优化处理。RocksDB将最大限度地发挥闪存和RAM的读写性能。

3.可适配性

  RocksDB适合多种不同工作量类型,从像MyRocks这样的存储引擎,到应用数据缓存,甚至是一些嵌入式工作量,RocksDB都可以从容应对这些不同的数据工作量需求。

4.基础和高级的数据库操作

  RocksDB提供了一些基础的操作,例如打开和关闭数据库。对于合并和压缩过滤等高级操作,也提供了读写支持。


三、RocksDB中的LevelDB不具备的性能。

性能:

--多线程压缩

--多线程memtable插入

--减少数据库互斥量

--优化的水平压缩风格和通用压缩风格

--前缀布隆过滤器

--Memtable布隆过滤器

--覆盖整个SST的单布隆过滤器

--写锁优化

--改进了Iter::Prev()的性能

--在SkipList搜索期间比较器调用的更少

--使用巨大的页面分配memtable内存

特征:

--列家庭

--事务和WriteBatchWithIndex

--备份和检查点

--合并运算符

--压实过滤器

--手动压缩与自动压缩并行进行

--持久缓存

--批量加载

--转发迭代器、拖尾迭代器

--单一删除

--删除范围内的文件

--Pin迭代器键/值

替代数据结构和格式

--纯表格格式,用于仅限内存的用例

--基于矢量和基于散列的memtable格式

--基于时钟的缓存

--可插入的信息日志

--使用blob注释事务日志(用于复制)

可调性

  • 限速
  • 可调减速和停止阈值
  • 选项保持所有文件打开
  • 选项可将所有索引和布隆过滤器块保留在块高速缓存中
  • 多个WAL恢复模式
  • 提前预读并避免在OS页面缓存中进行缓存
  • 可以选择将索引和布隆过滤器的L0文件在内存中
  • 更多的压缩类型:zlib,lz4,zstd
  • 压缩字典
  • 校验和类型:xxhash
  • 不同级别的大小乘数和每种级别的压缩类型。


可管理性

  • 统计
  • 线程本地分析
  • 命令行工具中的更多命令
  • 用户定义的表格属性
  • 事件监听器
  • 更多数据库属性
  • 动态选项更改
  • 从字符串或地图获取选项
  • 选项文件的持久选项




  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值