来自Riak的LevelDB与InnoDB性能对比测试

Riak默认采用的是Bitcask的数据引擎,Bitcask能够提供高效,高可用的,防崩溃的数据存储。但是它有一个弱点,就是其内存消耗与存储的数据数量成正比(尽管比例系数比较小)。也就是说如果你使用Bitcask引擎来存储大量小体积的数据,可能会比较浪费空间。

而Riak实时了同时提供了Innostore作为InnoDB引擎的封装,以提供对大量小体积数据的存储,但由于InnoDB引擎固有的一些特点,使得其有一些问题,比如相对Bitcask来说,备份InnoDB会比较困难,还有协议上的问题等等。

在Google发布了其Key-Value存储LevelDB后,引起了Riak的注意,他们发现LevelDB好像正好能够弥补Bitcask和InnoDB在大量小体积数据存储中的缺点,于是他们做了如下几个InnoDB和LevelDB的性能测试

机器配置都是普通的低配机:

a fairly basic 2-CPU Linux server with 4G of RAM, mid-range SATA disks

1.以自增的数字为key顺序的写入1亿条数据

2.对上面写入的1亿条数据进行读取,读取策略采用帕累托分布(帕累托分布即大部分数据请求是对小部分数据集的,这更接近到真实应用场景)

3.同时对上面数据进行读写操作,读写比为90:10

4.单纯的写入操作,同样采用帕累托分布,且分布更严重,也就是操作针对的数据集更小

当然,上面的测试场景仅供参考,具体的性能差别最好还是根据自己的应用场景来做测试。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值