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

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

IBM公布Softlayer中国业务落地时间表 推荐30款最佳的数据可视化工具 数据库迁移测试:选白盒还是黑盒? 东软发布首款英特尔架构企业级移动终端解决方案 英特尔与腾讯创立游戏创新实验室 推进RealSense技术 《近匠》系列沙龙之探寻绝密武器:移动跨平台开发 iOS走向开放:苹果新推iAd Workbench广告服务 腾讯薛伟:快速模型更新在精准广告推荐中的应用 微软Build2014第一天要点精华汇总(组图) Windows 8.1 Update 1五大改变:任务栏回归,增强鼠标支持(图) 【十大院士】怀进鹏:全球的计算模式可能重新形成 微软Build2014第一天应了解的15件事 TypeScript1.0发布,完美支持Visual Studio系列产品 欲与Android展开价格战,微软宣布在移动设备上免费开放Windows 2014深圳英特尔信息技术峰会次日要点汇总 4月4日:微软39周岁,生日快乐! 正式进军硬件市场 Atlassian发布可穿戴设备Bitband 云计算时代IT专业人员需具备的10项技能 【走近院士】李德毅:大数据是连接虚拟和现实世界的桥梁 微软Build2014大会第二天干货总结 Microsoft Azure拥抱Puppet、Chef、MongoDB... 唏嘘不已!Brendan Eich上任Mozilla CEO仅十天即因歧视同性恋被迫辞职 最火HTML5 JavaScript游戏引擎:国外篇(一) Facebook发布PlanOut 开源部分A/B测试源码 一周消息树:6款Java转C#的最佳工具、Web开发者必备的9个软技能 对话“宙斯杯”获奖代表:依托京东云平台,打造精品电商CRM 关于微软开源WinJS,开发者必须知道的5件事 告别丑陋banner条,InMobi联合开发者尝试原生广告 免费游戏开发经验谈:第一印象很重要 《近匠》小旭音乐:游戏音乐金牌匠人的练级之路 日600亿消息,月4.65亿用户——WhatsApp的Erlang世界 一周热点:Cloudera新一轮融资总额已达9亿美元 如何反编绎DLL文件?只知应该是C++写的,封装的是读卡器读取的函数!详细见内! 我只有这么多了?不会让我头一次到Java里问兄弟们就不给面子哈? 哪儿有视频捕获、多播的源代码下载? 有招聘pb的吗?我使用pb已经两年了,现在在北京, javamail问题 连接ACCESS时,总是要弹出LOGIN窗口,如何去掉? DIB与DDB到底有什么区别?? delphi 怎样建数据库 (dos6.22不动一会儿硬盘就停止响应了)如何在dos下设置硬盘的电源管理。命令是什么?谢谢 《TCP-IP详解卷2:实现》的源代码在哪里下载? 如何接受这个消息呢? Not operational? 谁来推荐本关于NT或2000 服务编程方面的书籍下载地址? 请问如何编写组播路由软件 如何实现 Delphi 带参数运行? 寻找DDbgridEh控件for Delphi6,高分! 一个VFP的打印问题! 关于基于单文档应用程序的问题 怎样在Exchange Server上部署应用,拦截所有通过outlook发给该Exchange的邮件,提供一个思路也行! wolfAone (黑色的狼(WOLF))你给我进来,有消息了! 请问JAVA如何读写注册表 经典图书??? 请问一个关于窗体置前的问题 HELP!关于STRUCT的问题! 请问,怎样知道光驱里面的光盘是不是已被更换? 在Delphi如何进行包的调用,本人将无比感谢 关于exchange的几个问题? sdk中怎样在客户区中播放视频文件(从通用对话框中) 打印问题 大家帮帮忙看看代码,指点我一下。 请问如何让浏览器中的COM组件得到当前浏览器的IDsipach接口(或IWebBrowser2接口)? 控件打印的问题 有关request.getParameter();的奇怪问题! 常见代码,有些地方我不明白帮我详细注解一下以下代码 征求解决方案 裁剪linux后,不能起动 请教MayFlower,asmx文件变成下载的问题 高手难题:SYBASE触发器中如何获取text字段的内容 珠海程序员薪金调查!(决定了我的前途)谢谢! 对利用Telnet进行自动化处理提点意见 强制类型问题 这都啥年代了?CSDN还在卖VS.net beta2!!! 请问在一个基于对话框的应用程序中,怎样实现打印功能?同时要求不弹出打印对话框,而且将纸张大小设为A4,打印方向设为横向? 小问题 SQL Server 7.0有for Alpha的吗? JIT究竟是什么东西?能否详细叙述,谢谢!另外,由于Java的跨平台技术,编译后的Java程序速度相对较慢,那么速度究竟慢到什么程度?通过什么能提 请教各位高手,关于CDONTS.Newmail对象的一些疑问? 我在新建类时为什么找不到CTOOLBAR基类,怎么新建基于CTOOLBAR的类? 用goto语句如何调用另外一个过程中的标签?急!急!急! 我仍然不能打开第二个光驱? 500分求一份关于工资管理系统的分析报告 导体球壳内部一定等势吗?和接地有关系吗?和带电是否均匀有关系吗?关于这方面的知识多多益善,我是说空腔导体 煤含碳怎么测 晶粒和颗粒的区别? 平行板电容器两端电量不一样,电压怎么求? 石油中碳和氢的含量占? 我英语水平还不错,但是想学另一门外语,不知道哪一门比较好.主要还是想针对就业... 一平行板电容器电容为0.25UF 两级板间的电压为200V 则电容器电量为多少? 英语翻译二本院校的话 欢迎多多分析 商务英语 电气工程及自动化 哪个就业前景好 CH3-CH=CH -CH -C=C-CH3 有没手性碳原子的啊,有的话有几个啊?\ -OH 学哪门冷门的小语种前景好? 学商务英语的具体可以做哪些工作?3Q 解释下列语句的作用?LoginName=trim(request.form("LoginName")) Password=MD5(trim(request.form("Password"))) set rs = server.createobject("adodb.recordset") SQL="select * from Nwebadmin where username='"&LoginName&"'and password='"&Password&"'" “人活着就是为了改变世界”的含义是什么 大学物理两个同心共面的圆线圈,半径分别为R1和R2且R1 求大神解释下下面语句讲了些什么 人活在世界上的意义 太阳平常的紫外线 会无时无刻损坏金刚石晶格吗 语文当中语句有那几种?分别是怎样运用的? 人活在世界上有什么意义 日本核辐射,对我们有危害吗? 语文当中语句有那几种?分别是怎样运用的? 人活在这个世界上有何意义呢?怎样让朋友们更懂得珍惜你勒? 和刚来中国的受到核辐射的日本人一起在中国吃饭,会受到核辐射吗? 图1-7-7所示是一个由电池、电阻R与平行板电容器组成的串联电路.在增大电容器两极板间距离的过程中( ) 图图1-7-7所示是一个由电池、电阻R与平行板电容器组成的串联电路.在增大电容器两 商务英语和法语哪个就业前景好?我准备 报对外经济贸易大学的 ,选什么 就业前景好? 植物中含氮量测定方法,或者说微量的含氮量如何测定 人类世界是先有男人还是先有女人?一直搞不懂 世界上出现的第一个人是男人还是女人? 商务英语跟经贸英语哪个就业前景好 所有植物中 含钾量最高的 植物是什么.所有植物中 哪种植物含钾量 是最高的.注:是植物,不是食物. 为什么世界出了男人和女人就没有其他人类呢 商务英语和英语教育哪个就业前景好? 两个同心球面 外球带电量为Q,半径2R;内球接地,半径为R 求内球带电量 为什么答案为Q/2 如何准确测定不锈钢中的碳、硫含量量 商务英语和公共事业管理哪个就业前景好具体说说类似的工作,希望能具体,不要泛泛而谈的 物理牛顿第一定律生活中,常会见到物体从高处下落的运动.如用手拿着一个小球和一张纸片,从同一高度同时释放小球和纸片.我们看到小球先落地,纸片后落地,如图(a)所示.美国宇航员大卫&# 为什么世界上只有男人和女人,每人其他人类,除了外星人 在球坐标和柱坐标中解波动方程,得到的表达式是什么?亥姆霍兹方程在球坐标中求解球面波的表达式(要亥姆霍兹方程推导出来的)柱面波的表达式(要在柱坐标中解的波动方程求出来的) 物理牛顿第一定律题正在沿水平路平做直线运动的车厢天花板上A点有一个小螺钉脱落,在下落过程中,螺钉并没有与其它物体相碰,不计空气阻力的影响,以下结论正确的是:( )A.螺钉必定 304不锈钢的含碳量? 关于直线方程:求证中点坐标公式啊 植物缺氮怎么办自家的一盆景缺氮不用化肥该怎么办? 为什么动物总是雄性吸引雌性,人类却是女人吸引男人?我知道动物和人本来是有区别的,不能一概而论,但是还是想听听大家的看法.我是说人和动物怎么是相反的啊?比如很多雄性动物都花枝 球的标准方程是什么 植物 氮来自总所周知,氮元素在植物中占着很大的比例,植物体不可缺氮,这么大量的氮元素到底从哪里来的呢?不是常说只有根瘤豆科植物才可以利用空气中的氮妈?而且构成土壤的元素也没多 不锈钢为什么含碳量都很低? 北京是不是有核辐射?浙江的沿海地区会有较大的核辐射吗?假如有核辐射有什么简易的防护措施吗? 植物为什么需要氮?请写出主要原因,只要简要 谢了 原子序数等于核电荷数?消化属于化学还是物理反应? 世界上到底是先有男人还是先有女人. 桌面上有一个倒下的未开启的矿泉水瓶,瓶中的气泡位于瓶的中段上方,若将瓶突然向左推动,气泡将向(左)方运动,若将瓶突然向右推动,气泡将向(右)方运动,这是(水)的惯性起主要作用. 空气中氧气的含量的测定用什么----,不能用碳代替是为什么 串联U=U1+U2.U1和U2大小与R1和R2之间有什么关系串联电路中U=U1+U2.分电阻两端电压 U1和U2是串联电路总电压U一部分.那么分电压U1和U2大小与R1和R2之间有什么关系? 日本地区核辐射会造成生物和动物的变异吗?基因变异吗?还是本体变异。 为什么封闭导体壳接地时,内部电场不受壳外电荷与电场影响?为什么封闭导体壳接地时,内部电场不受壳外电荷的电场影响? 串联电路中R1/R2=U1/U2是怎么来的 晶格能与键能的区别 为什么接地的导体壳内部电场对壳外空间没有影响 串联电路中U1/U2=R1/R2,这句话怎么理解? 求2013年日本核辐射东京地区的数据,寒假想要去自由行可是家里以核辐射为理由不让去.(最好)要有数据!
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘