RocksDB 学习笔记

RocksDB是一个由Facebook开发的高效数据库,专注于快存服务,支持point lookup和range scan。它包括memtable、sstfile和logfile组件,提供事务支持、一致性视图、Bloom过滤器和多种compaction策略。RocksDB还支持全量和增量备份、多种缓存策略以及模拟内存容量预测。其Iterator和Snapshot功能适应不同扫描需求,二阶段提交确保数据一致。适用于需要高性能K-V存储的场景。
摘要由CSDN通过智能技术生成

       RocksDB是FaceBook起初作为实验性质开发的一个高效数据库软件,旨在充分实现快存上存储数据的服务能力。RocksDB的主要设计点是在快存和高服务压力下性能表现优越,支持point lookup 和 range scan。RockesDB 是一个嵌入式的K-V(任意字节流)存储, 支持Get(key)、Put(Key)、Delete(Key)和NewIterator()。RocksDB的基本组成是memtable、sstfile和logfile。RocksDB架构图如下:

Iterator和Snapshot提供了DB在某个时间点的一个一致性视图,快速短期/前台的scan操作比较适合用Iterator,长期/后台操作适合用Snapshot。Iterator过程中会增加引用计数,当实例重启时,Snapshot会丢失。

RocksDB提供了多个操作的事务性,支持悲观和乐观模式。

prefix_extractor来声明一个key_prefix,然后RocksDB为每一个key_prefix存储相应的blooms,提升RangeScan操作。

RocksDB通过checksum来检测磁盘数据损坏。

当用户重复写入一个key时,在DB中会存在这个key的多个value,compaction操作就是来删除这个key的冗余数据。RocksDB也支持多线程并行compaction。多线程并行flush操作可能会引起写停顿。

RocksDB支持全量备份、增量备份和复制。

RocksDb 支持 LRU 和 CLock两种模式。cache的每个分片都有自己的LRU list和

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值