RocksDB内部数据组织方式介绍及性能压测

RocksDB和LevelDB都属于嵌入式数据库,内部没有设计成C/S网络结构,必须和服务部署在同一台服务器。LevleDB是Google的两位Fellow(Jeaf Dean和Sanjay Ghemawat)设计和开发的嵌入式Key-Value系统,读写性能非常彪悍,官方网站报道其写性能40万/s,读性能达到6万/s,写操作要远快于读操作。RocksDB是Facebook公司在LevelDB基础之上开发的一个嵌入式Key-Value系统,在很多方面对LevelDB做了优化和增强,更像是一个完整的产品,比如:

  • LevelDB是单线程合并文件,RocksDb可以支持多线程合并文件,充分利用多核的特性,加快文件合并的速度,避免文件合并期间引起系统停顿;

  • LevelDB只有一个Memtable,若Memtable满了还没有来得及持久化,则会引起系统停顿,RocksDB可以根据需要开辟多个Memtable;

  • LevelDB只能获取单个Key-Value,RocksDB支持一次获取多个Key-Value。

  • LevleDB不支持备份,RocksDB支持全量和增量备份。

在实际项目或者产品中,可以将RocksDB或者LevleDB作为单机数据存储引擎,在其上面实现分片和多副本,从而实现一个真正的分布式存储系统,例如:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值