说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

NoSQL产品测评:Cassandra、MongoDB、Couchbase和Aerospike

HTML文档下载 WORD文档下载 PDF文档下载
Thumbtack就NoSQL的基准测试发布了两篇论文,分别覆盖超高性能NoSQL基准和NoSQL故障转移特征。新基准为YCSB的升级版,然而评估NoSQL数据库的性能并不是件容易的事,比如原YCSB在推出后就闹出了一些有意思的事情。

近日Thumbtack发布了两篇论文,分别为 超高性能NoSQL基准和 NoSQL故障转移特征;前者是分析持久性和性能的权衡,后者则是关于Aerospike、Cassandra、Couchbase和MongoDB几个NoSQL的故障转移特征。两个基准都尝试测试“有高吞吐量、低延时需求的面向用户应用程序,这些应用程序的数据都可以使用键值形式进行存储”。

Thumback使用的是YCSB(Yahoo! Cloud Serving Benchmark)的升级版,新的YCSB改变记录在第一篇论文的文档中。在着眼新的基准测试之前我们首先看一下原YCSB上的一件趣事

YCSB推出不久后(1年多以前),HyperDex使用这个基准对HyperDex、Redis和MongoDB几个高性能数据库进行测试,而得出的结果更是犀利无比 —— 吞吐量秒杀风头正劲的MongoDB与Cassandra,赶超Redis


为此有“热心”的网友在Redis社区中发表了帖子 HyperDex vs.Redis,并得到了Redis之父Salvatore Sanfilippo大神“强有力”的回复:

事实并没有听起来那么有趣,因为:

Redis和Memcached在单核心每秒查询上具有或多或少的上限,Memcached允许自动的使用多核技术(这一点Redis在将来可能会实现),而使用Redis你需要多实例,并且这只能在网络服务器中使用,当然这些系统使用的都是内存处理形式,并且通过合理的优化。

我想说的是,我也可以修改Redis让其返回的总是“foo”,从而达到单核心每秒15万ops。那么真实情况应该是这样的:

1. 基准E设计的非常粗糙,Redis并不支持,这样的对比一点“营养”都没有

2. 在所有其它的测试中,他们可能都是使用单核心Redis在对抗多核心HyperDex(或者是多节点HyperDex)。举个例子,Redis LPUSH每秒可以轻易的插入100万个选项进入列表,然而如果你同时使用4个实例,每个核心每秒你可能都会得到3、4百万写操作。然而这并不意味着我们需要在首页上写上“单核心每秒400万次操作”!

3. 基准测试用例的数据集可能一直都储存在内存中

4. 没有公布所有方法,这样这个测试结果无任何价值

最后我认为,使用错误的引导去塑造产品同样是不好的行为,前3个月可能会有所收获,那么之后会发生些什么?

“任何企图同时抓两只兔子的人,最终将毫无收获。”

而之后Salvatore Sanfilippo更是对YCSB基准做出了如下的评论:

这是我在HackerNews上对这个基准YCSB发起的讨论: 讨论地址

根本上说YCSB在构造思路上犯了经典的错误,取代使用合适的用例来获得不同数据库的最佳性能,它使用一个层来给不同数据库强制数据模型。对于大多数的数据库来说,使用的是本地数据模型,但是对于其它的(比如Redis)数据库来说,只是在模拟使用本地操作。

同样这个基准对比的是单核心Redis和多核心Hyperdex之间的性能。

言归正传,下面来着眼于改良后的基准测试。进行测试的NoSQL数据库包括:Aerospike、Cassandra、Couchbase(1.8和2.0)、MongoDB。第一个是收费产品,最后一个是文档存储而非键值存储,之所以包含MongoDB的原因是“从我们的经验上看,一般都会认为它适合此类应用程序”。所有数据库都使用提供商的建议进行优化,取代机械硬盘,测试系统使用SSD进行存储。论文中详细的陈述了使用的方法、客户端和负载配置、硬件配置等。

Thumbtack坦诚与Aerospike、Couchbase、10gen之间存在“战略/商业上的合作关系”,同时测试硬件是从Aerospike租借,下面列出了一些测试结果:

插入操作吞吐量

数据库使用原始的YCSB负载路由,将执行大量的插入操作。对于已存入内存的工作集,Couchbase表现的最好;但是从SSD上加载时,Couchbase出现了问题:Couchbase 1.8无法完成这个操作,而Couchbase 2.0只能使用小集合和异步模式。


点击查看大图(以下同上)

最大吞吐量

这个测试使用了“强连续性模式,使用一个备份时远大于服务器内存的数据集”,这样的目的是测试对交换数据有强连续性需求的用例。同样Couchbase没有出现在图中,因为其使用的同步复制机制不能完成这项操作。

当使用异步复制时,内存中的结果是:


延时和吞吐量

基准同样测试了不同等级传输量下的读可修改的延时,下一张图片包括了所有数据库的整体视图和单独视图:


故障转移

Thumbtack视图发现在一个节点发生故障时,各个数据库的表现,硬件故障模拟结果如下:


同样还测试了宕机时间等。在发生故障到恢复运行,所有数据库表现情况如下:


推荐阅读:

2012年的另一个NoSQL基准测试,其中包括Cassandra、HBase、MongoDB和Riak;同时这个测试还有一个拥有对比的关系型数据库MySQL。

原文链接: NoSQL Benchmark Compares Aerospike, Cassandra, Couchbase and MongoDB (编译/仲浩 审校/王旭东)

“  第五届中国云计算大会 ”将于2013年6月5-7日在北京国家会议中心隆重举行。猛击报名! 

相关活动已经火热启动:

2013中国云计算大调查,每周大奖等你拿! “ 

Innovation Cloud 2013云创新产品与应用项目征集,欢迎研发者、团队和创业企业参加! 

iOS开发者讲述在Google工作的三个月 GitHub历史上最糟糕宕机事故回放及反省 疑因竞争 谷歌有意让地图与WP手机不兼容 移动游戏开者必看:海外VC最关心什么? 淘宝UED:随侃设计师的个人素养 TIOBE 2013年1月:不负重望 Objective-C再次赢得桂冠! 大数据:商业或技术的挑战? 开源移动统计:Cobub Razor近期版本大升级 无人机应用,为何屡遭苹果拒绝 2013年Java继续火的五大理由 Rails所有版本都有SQL注入漏洞?其实没那么严重 如何设置Windows Server 2012 NTFS权限 智能手机大局已定 HTC难扭转乾坤? 比谷歌手表更酷!基于大数据分析的睡衣 众投资金:改变了移动游戏开发的一切一切 这些科技产品和革新或在今年“横空出世”?! 现代Objective-C七宗罪 Google工程总监Ray Kurzweil意欲打造“虚拟朋友” 惠普开源JavaScript框架Enyo更新:支持桌面和移动平台 分析:三星或将成为科技行业第五巨头 是真的 诺基亚真有可能推Android手机 如何打造IE10的指尖触碰式用户体验 SUSE全球OEM联盟总监:为何SAP HANA只选择SUSE? 推荐2013年最佳PHP开发框架 Patrick Wyatt:代码没问题 程序却有bug? NoSQL的可靠性及扩展操作 最新Skype加密技术:“无声”通话能躲过FBI监听 谷歌锁死SDK,能阻止Android碎片化吗? KitCam团队专访:为应用做加法也能雄踞榜首 谷歌哭了:Replicant 4.0 SDK发布搅乱大局 忍者神龟与禅宗启示:如何突破移动广告困境 周五不好干什么,没女朋友,编程水平又菜,学校又不好,文凭又差自修室又不开放??? 各位同志,我有个问题搞不清楚.请不吝赐教. 如何在局域网中实现共享只读文件(没有共享密码)的写操作 杭州的朋友,请问........ 如何在explore显示的网页的文本框中设置正文??? 谁能告诉我学软件工程到底有多少用? 这里有20分,谁要? 大家来看,这就是别人对中国程序员的看法! 寻找图书~? 获取NT管理员权限创意 ?寻找图书~? 为什么运行时正常的程序,编译成可执行文件后运行过程中出错... 怎样填充按钮客户区? 寻找图书~?? 请问如果数据量很大,比如大型企业的即时采集数据,应该用什么数据库系统处理呢?oracle,sysbase,db2,sqlserver还是cobol?? 这么简单的问题,难道就没有人能帮我了吗?!太遗憾了! 敬一杯“情人醉”给MM_mimi(人淡如菊),别人不要进来呀! 谁有过同样的遭遇??? 长整数除法的算法?? 关于Java Plug-in和Applet的一个问题 请求推荐有关SDK的好书!!!!!!! 我受不了了 个人主页链接如何让鼠标变成手形?谢谢! 老话题:三层结构中blob字段的存取出问题了? run-time类是怎么回事? 当多个程序对同一个文件进行读写操作,如何防止同时写入造成混乱? 求银行家算法的c程序! 请问W2K下面鼠标阴影的效果是用哪个API实现的? 我提议有编程经验的朋友们,一起来研究一种真正符合我们实际开发工作的模板 我用上kylix了!!!!!!! 请教,关于NT域用户的问题!NT账号,怎么设定唯一性呀?比如有aa的用户,我用aa登陆后,别人不能用aa同时登陆了?应该在那儿设置呀? Mfm1992?是个什么东西呀! 如何在informix/esql c中使用大事物? 如何保存收下來的email呢???!!!!! 关于一个网站建设的问题,望高手指点。 求救;如何建立一个登陆页面? 谁能给出一个远程访问互联网ACCESS数据库的经典代码?有28分送上! 怎样将-个十六进制数转换为十进制? 如何将java程序编译成dll文件 cannot focus a disabled or invisible window 一表我想通过文本框来增加记录,为何不能发送到表中,不要告诉我是没有post的原因。 奇怪,borland的开发能力这么强,为什么几乎没有一个象office那样流行的应用软件呢?如果它的应用软件很多,就不会象现在这样穷了吧? Delphi 数据库不如Power Builder 吗? 请问怎么安装新的控件? B样条曲线:如何由经过点反算控制点? Berzer曲线:如何由经过点反算控制点? 关于activereport的字符集问题 有没有计算曲线长度和交点的好方法? Install Shield For VC6怎么用???????????????????? ODBC数据库 ****有没有计算曲线长度和交点的好方法? 苏教版小学数学六年级补充习题61页第二大题 六年级数学下册练习册很急啊 急、啊 用猜想和尝试法解决1.一个笼子里,鸡和兔共有28个头,80只脚.鸡和兔各有几只?这个列表我忘了,你们能提醒我一下么?同学们进行队列寻列,排场一个4层的空心方阵,还多15人.如果在方阵的空心部 苏教版小学数学补充习题(六年级上册)23页答案 人教版小学六年级数学下册配套练习册第108页第五题怎么计算,急需算式步骤. 某船队遇晴天和阴天均正常出海捕鱼,逢雨天则休息(晴天、阴天和雨天之外的情形不考虑).那么,在下个月的10日逢雨天的可能性为几分之几?11日出海捕鱼的可能性为几分之几?这两天均不能 人教版六年级上册数学补充习题49 50页 1.一个数的6.4倍加上2.6,等于6.1,求这个数2.甲数的五分之二比它的⑦份之①多二分之三,甲数的½是多少?3.1.8的5倍,比一个数的75%少4.5,这个数是多少?4.35除40的商乘以¼与五分之一的差,是 一个正方形,如果长增加2米,宽增加3米,面积就增加46平方米,那么原来正方形的面积是多少平方米?小红有118元钱,全是1元、5元、10元三种面额的,共23张.其中5元和1元的张树一样多.那么1元、5元 六年级小学数学上册补充习题答案46到51页所有答案请你都告诉我! 5题 6题 7题列式 六年级上数学练习册22页第5题答案全说!速度! 数学六年级下补充习题46——48答案拜托啦 六年级下册数学练习册90页答案,要列式的哦,好的加分! 六年级数学练习册23页的1、2、4、5、6、7、的题目 苏教版六年级下册数学配套练习册86---95页答案苏教版六年级下册配套练习册! 人教版六年级下册数学配套练习册答案10到12页 六年级数学练习册22页第2题、3题、5题、7题和23页的3题 小学六年级下册数学苏教版练习册的第102页10.1111(1):一个长方形的长减少6厘米,面积减少30平方厘米,剩下的部分正好是个正方形,求原来的长方形面积是多少? 要有意思,列式( 六年级下册数学配套练习册15——21页答案人教版最好有公式的,会答的答,不会答的,别说什么不让抄啊 快 明天就交 不然我就完了 2010至2011六年级下册数学期中试卷苏教版 谁有北师大版六年级下册数学练习册72、73页答案我不确定我写的对不对,我想对一下题 六年级下册数学练习册答案47和48补充44和45 六年级上册数学配套练习册64页 北师大版六年级下册数学练习册答案5页 六年级下册数学练习册答案30页的第3题,快.苏教版的.要8个比例试。3/4,4,9. 六年级上册小学语文配套家庭练习册11课第五大题第一小题答案老人是聋子吗?你是从哪里看出来的?用“波浪线”标一标……以后,每天清晨,我都到小树林去练琴,面对我唯一的听众,一位耳聋 小学6年级下册北师大版数学练习册答案(只要29 30 31 32页的) 六年级上学期数学练习册习题3.5的9-14小题.(上海教育出版社) 小学数学配套家庭练习册 六年级上册第10页第三大题第五小题答案. 六年级数学练习册下册北师大版86页答案 六年级上数学练习册40页答案 拜托 急 啊 1.甲、乙两数的比是5:6,甲比乙少2,甲数是( ),乙数是( ).这么算出来的. 篮球场长28米,宽15米.把它画在边长为30厘米的正方形纸上,选择怎样的比例尺比较合适?画好后的篮球场长和宽各是多少厘米?(要算式,有依据) (六年级下学期数学帮你学75页2题) 人教版六年级上册数学练习册41页人教版六年级上册数学练习册41页全部的题 小学数学配套家庭练习册(北师大版) 六年级下册的数学练习册答案 41页、42页、43页答案. 图上距离 实际距离 比例尺 25cm 50km 280km 1:400000还有 0.6cm 4:1人教版的,芝麻开花的快! 六年级下数学练习册41页(三元一次方程)只要做习题6.10 解下列方程 三元一次方程一、 5x-3y+z=25x+2y-4z=3-5x+y-z=2二、x+y=-2x+z=13y+z=1三、x-y-z=-13x+5y+7z=114x-y+2z=-1 青岛版六年级数学上册配套练习册50页计算题答案! 六年级数学练习册共几页 六年级数学练习册答案青岛版12到13页一瓶果汁2分之3升用4分之1的杯子来乘能成多少杯 谁有青岛版六年级下册数学配套练习册49页综合练习答案? 六年级数学练习册 冀教版六年级下册数学练习册第13页答案一块长方形铝板长125.6厘米,宽62.8厘米.用这块铝板卷成一个圆筒,这个圆筒的直径可能是多少厘米?高是多少厘米? 青岛版小学五年级下册数学配套练习册42页答案 急! 六年级数学!练习册! 复式条形统计图中每个单位长度直条表示什么 谁能告诉我小学人教版数学六年级配套练习册第36页的答案? 复习题1到8 小学6年级数学练习册 北师大版 六年级下册数学配套练习册第六单元综合练习答案人教版会的帮帮忙,不会的别说一些废话啊!整个大题(四)算一算不用给,其他的. 六年级数学练习册下册第35页第3题的第2小题怎么写小明家和小刚家相距1240米.一天两人约定在两家的路上会合.小明每分钟走75米,小刚每分钟走80米,两人同时从家里出发,多长时间后能相遇? 六年级下册数学课本90页的题 小学6年级上册数学课本66页答案 六年级数学下册练习册63 六年级下册数学练习册24页的题.(1)为修公路准备了一大堆石子,堆放成圆锥形.这堆石子底面积是1256㎡,高6m.用这堆石子铺宽20米的路,厚度0.2m,能铺路多少米? 在一个长25厘米,宽12厘米,高20厘米的长方体玻璃缸中放入一个棱长9厘米的正方体铁块,然后在玻璃缸中加入一些水,使铁块完全浸没在水中,当铁块从水中取出时,玻璃缸中的水会下降多少厘米? 数学六年级下册练习册54页要的是那种皮子和教科书是一样的练习册哦!只有54页的!我要的是53页的答案 1、5x6/1+6x7/1+7x8/1+8x9/1+9x10/1+……+19x20/12
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn