RocksDB 学习笔记

       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和

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值