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

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云创新产品与应用项目征集,欢迎研发者、团队和创业企业参加! 

现代Web应用开发者必备的六大技能 JavaScript异步编程好助手:Promise模式 功能解析:Red语言推出0.3.3新版本 可穿戴?可吞咽!UI和UX的悄然转变 华为刘成:讲述开发者联盟的故事 出尔反尔,Amazon咬文嚼字玩转私有云 创业公司SOASTA:曾帮助伦敦奥运会官网进行云负载测试 金山云进一步聚焦云存储 Facebook公布用户数据:美国移动用户占比78% Zynga开源服务器监控工具zPerfmon 上海海事大学王洁:打造物流教学科研应用云平台生态系统 15个步骤创立技术公司,并收获千万用户(二) HTML5发展慢热 开发者热情不减 NimbleBit孪生兄弟创始人:最后悔没有专注和扩大品牌 将对Windows形成挑战:谷歌在Chrome OS中默认支持Office 微软的企业社交大动作:Yammer发布移动SDK 谷歌开源Gumbo:纯C语言实现的HTML5解析库 AMD发布APPML源码,构建clMath库 【观察】3个月,每天增加52台,又一家云企业跻身十万台服务器俱乐部 感受华为IT业务的实力 小米雷军:我为什么做红米? GitHub上线Trending功能,帮你轻松找到有潜力的开源项目 如私人秘书:谷歌搜索将变得更加个性化 微软将于10月17日正式发布Windows 8.1 Google推出在线教育C2C平台Helpouts 技术人员组团参加SDCC 2013的十个理由 继BAT之后 第四大巨头是谁 如果传统IT部门真的消亡,你该何去何从? 闪存突袭,混合储存是否已步入黄昏 Cloudera发布Hadoop开源组件Sentry:提供细粒度基于角色的安全控制 我从其他Shell脚本中学到了什么? 我想请问一下sql的认证问题 触发器:For ,Instead OF 和After有什么区别?? slq7.0是不是不支持Instead OF 和After 远程访问方案征求!!! 为什么在我的XP的文件夹里面有Thumbs.db???? 不难的问题,请帮忙!! 如何改变ASP.NET Web应用程序生成的项目的位置?? 如何在JBuilder7中连接远程MS SQL2k数据库? 为什么在x-win32的窗口中,不能使用KDevelop,创建QT工程?? 数据源的连接问题?急!急!急!急!急!急!急!急!在线等待! paradox7表有没有最大记录数或最大容量?! 请问safety-critical systems是什么系统? 为什么<textarea>会有字数限制,我写了超过330个字符就不能提交表单了。 看看吧,想改變這种現象!!<marquee>能移動內容,但它移動時有空白(要等全移完后才又重新移)能否不要這中間的空隙。 那里有 netapi32.dll 中所有的函数及结构体的Delphi版定义? 在ASP里怎么能才让字符的ASC2码值加一。比如a加一之后等于b 谁有ehlib和fastreport的使用资料,哪下载??? 有关排序的问题? 高分相送!,求地税信息化方案 一个java程序,怎么写不进去?等待…… SOS!!! 是显卡的问题吗? 挂接的Fat32文件系统文件名为乱码 Linux 下的 中文输入法 十分奇怪的问题,win2000下编辑框粘贴文本出错。 为什么我的iis打不开了?(在线等待) win2000下 “内存指令不能读” 的错误怎么解决???? 问用ASP+SQL SERVER的朋友一个问题。在线等待。。 Web Services 的客户端和服务器能不能双向通信 98里的IIS服务在哪里停掉! 怎样在同一系统中既做服务器又作客户端?谢谢! 喜欢的女孩,交往半年后才知道大我2岁,郁闷!大家说该怎么办??? 怎么样用create函数创建一个窗口,用来显示提示信息 有两天没加可用分了,大家是没感觉,还是无所谓?我要饿死了,救命……来者有分! 用PHP如何在取得了属性drwxrwxrwx之后,判断是否为可删除? 在VC中,用quickwatch看vector变量时,怎么只能看到装在容器里的第一个变量 状态栏问题 如何使鼠标移到输入框上,输入框里面的字就会成 被选择 状态? 五百里加急(分不够另给) 与 硬件 有关 怎样配置root启动菜单~???~ [求助][急]关于SQL语句优化 高分求IBM WebSphere Application Server 高级版! 经常上csdn上的哥们把照片亮出来啊:) 在asp.net(用vb)中怎么连接ORACLE数据库? 从页面A转到页面B后,再从B转到A,怎样使A中控件的显示仍保持?即类似注册失败时返回,其他资料仍存在,仅密码需重输。 关于调色板管理器和动画的问题 请问如何使文本框处于选择状态(蓝底白字) J2EE 1.4 beat发布了。 找沈阳教VB的老师 MDI框架中如何判断是否有已经打开的窗口? 怎么给分呀? CString 问题 today 用什么时态 英语中什么是情态动词,助动词,祈使句,如何将肯定句转化为疑问句? 公共英语三级考的内容是全国统一吗 现在的情感事情为什么过去时态例如说我现在仍然喜欢音乐,但是在描述我过去的生活时,用的却是Ilikedmusic,在一些英语文章中时常会出现,这是为什么呢 ___is that toy bus? 【改写同义句】1.We can change the ice into water.We can ____ the ice ___ water.【改写同义句】1.We can change the ice into water.We can ____ the ice ___ water.2.The book contians many interesting stories.The book ___ many interesting sto His mother often makes him____(clean)his room on weekends 求全新版大学英语听说教程3的原文 water can change是什么意思water is _____0摄氏度 water is_______100摄氏度.water can also change into雪花 雾 雨_____ ____ ________There is water in the水潭 小溪 大海_____ _____ _____Water is usefulPeople uae water to:倒水________ 英语好的请进来帮忙,在线等啊刚刚联邦快递的人打电话给我们,以下的货物已经到意大利了,他们一直联系不上你们,请尽快跟他们联系,否则货物将会退回我们公司,谢谢 疑问句,倒装句,否定句的助动词是什么? The boy( )a strong young man three years later A.grewup B.change into C.made into D.grew into Li Hua cleans his room every day to keep it ------(clean) 英语中 实意动词的【否定句】需要【助动词do】帮助构成【否定句】? they can change water into ice怎么改为被动句? That is a white cup.改变为一般疑问句 英国工业革命开始标志和完成标志,开始时间和完成时间?开始的标志 完成的标志 开始的时间 完成的时间 说初三历史书上的就行了 ps:开始标志具体是飞梭还是珍泥机还是蒸汽机 Put four different letters into three postboxes,How many different ways are there? 变成一般疑问句 The bus is black.That dog is cute.The cow is big.That is your sister. 英国工业革命开始和完成的主要标志是1改良蒸气机的制成2珍妮纺纱机的发明3蒸汽机的问世4机器制造业的建立和发展A12B34C24D13 the boy is from America同意句改写 make up组成,造句 你的男朋友帅吗?用英语怎么说 Is the boy from America?(同义句改写)__________ the boy ________from America? Can you ()the word in English?A Say B speak C talk Dtell选A 还是B 英语翻译世界上有一种最美丽的声音,那便是母亲的呼唤.(但丁)母爱是世间最伟大的力量.(米尔)世界上的一切光荣和骄傲,都来自母亲——高尔基慈母的胳膊是慈爱构成的,孩子睡在里面 the boy is from america什么意思 John,can you ______the new word in French?A.speak B.say C.tell D.talk 高尔基名句 没有任何力量比知识更强大,用知识武装起的人不可战胜 英文翻译 Amy comes from America对划线部分(America)提问 英语较好的请进来下我需要以6年级标准写的一篇周末计划的英语作文,请带上翻译。 they come from (English )对括号词语提问 全国公共英语三级怎么考呀? Can you tell me how to ( ) this word in English?A.said B.say C.tell D.speak 英语选择:------come from------------.They speak-------------.A.German,Germany,GermanB.Germans,Germany,GermanC.Germany,German,GermanD.Germans,Germany,Germans求解题原因 2010全国公共英语三级什么时候可以考 英语好的请进来一下采纳后必有重谢这是亚洲90年前没人能预见它的潜力但我们看到光明的未来我们化“危”为“机”将不可能一一实现因为有你你 是激励的源泉你 是进步的动力我们为你的 英语填空:They come from Germany._______Germans 评价1832年英国议会改革 Can you ____them in English A.say B. Speak C.talk D. Tell Look ,here ____ the famous football player .A.is coming B.comes这道题为什么选B? There______ a poster and four pictures on the wall ________ my bedroom.A is;in B is;of 英语作文怎么提高分数啊! make up one's mind mind 是可数的吗? He comes from America.换一种说法He comes from America.He is a -------- --------America.The boy is very young and he can't carry the heavy box.The box is --------heavy for the boy ------- carry. 介词填空Does she go to London________air or ___sea?,请问应该填什么介词? i ’ d like three ( ),plesse.a是water b是glasses of water c是glass of water.Mrs.green would like to buy ( a是three pieces papers b是 three pieces paper baby,snore,be,have,wife1、listen!the man is( ).2、what lovely ( )they are!3 Jim comes from America,does not he? be made of 和 be made up of 的区别 Scott's favorite subject is math(改为特殊疑问句) “最后我们胜利了”怎么用in the end造句啊 如题 be made up 帮我找与OF有关的短语(有翻译哦)急 1、be different from...为什么不用difference2、look the 3、the same hold a meeting 和run a meeting有什么区别如题 you said it out ofenvy中文翻译 格列佛游记反映了英国皇家怎样的生活? hold a meeting 和run a meeting有什么区别 回忆今天所发生的事应该用什么时态 《格列佛游记》中,小人国里的高跟党和低跟党分别影射英国哪两个党派?求正确答案.蟹蟹.《格列佛游记》中,小人国里的高跟党和低跟党分别影射英国哪两个党派?求正确答案.蟹蟹. Don't call me __now.I'm having a meeting
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘