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

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

改变 ListIndex而不发生 Click 事件 -VB资料 改变 TreeView 的背景 -VB资料 改变安装向导的背景色-VB资料 改变按钮的文本颜色-VB资料 功能强大的增强列表框 ――VB6控件LISTVIEW使用指南 关闭MDI窗体中所有的子窗体-VB资料 规范设计Windows应用软件菜单-VB资料 VB建立可滚动的视区 -VB资料 VB建立可下拉选择的属性 -VB资料 VB建立无模式窗口 -VB资料 将VB5中的ToolBar变成平面的 将程序从任务列表中隐藏 -VB资料 将我自已的命令加入窗体的控制菜单栏-VB资料 VB利用 UnloadMode 来控制窗体的卸载? VB利用Form_QueryUnload询问使用者是否关闭窗口 利用VB的图片框实现屏幕的滚动 利用VB动态改变Windows显示模式的两种方法 利用VB控制窗口显示风格 利用VB实现浮动按钮 VB利用子类处理技术限制窗体的大小 奇形怪状的窗体 -VB资料 强制ComboBox弹出下拉框 -VB资料 强制和防止窗口重画 -VB资料 巧用“关于”对话框-VB资料 请问在VB中如何关闭别的应用程序窗口 确定屏幕分辨率-VB资料 让VB5支持动画光标 让窗口拒绝接受键盘和鼠标事件 -VB资料 让窗体处于最前面 -VB资料 让窗体居中 -VB资料 让所有的控件都动起来 -VB资料 求屏蔽后退键方法!!! 请教:关于内存泄漏的问题!!! 这个程序一定是计算机有问题把? 请问为何VC++不认winexec()? 求救!!! 我的猫在WIN2000下总在通不过在网上注册计算机这一步,怎么办? 敢教日月换新天 — 使现有的软件或程序支持 Windows XP 的新界面 急::::100分,,,,,在线, 彩色图像灰度化需要修改哪些参数? 请问一下这个语句有什么问题? 在控件中如何创建另一个控件的窗体? Help,急 怎样实现视频捕捉 知道一个位图文件,怎样把这个位图通过打印机打印出来 如何实现象IE的地址栏一样的combobox???就是说当chang时自动列出关于combobox.text的内容!!! >>在类的虚函数中,为什么可以调用其基类的同名虚函数?它是如何实现的?? 灰毛兔,囡囡你们在哪里??请留下qq,偶想和你们联系 我刚刚开始学习B/S结构的程序设计,请问各位哪里可以下载到这方面的资料?顺便散分。 如何编程实现网络上的视频传输 知道一个模块的句柄侯怎样运行它? 中国为什么比韩国差这么多? 帮帮忙,我急需有关ERWIN的书籍资料,请能在哪里下载?急啊!先说声谢谢! 500分求助!!!如何打印MSCHART控件画出的折线图 请问网上有没有关于UI线程比较好的例子?如果有的话,发一个网址给我,在线等待,谢了! 一道选择题 局域网,一方可以ping通一方,怎么解决?? 装了WIN2K后,如何再装LIUNIX实现双启动? TQuery的简单用法,高分大放送! 如何将controls对话框中不用的控件去掉 请问怎么用coff2omf,把Strmiids.lib、Quartz.lib、Strmbase.lib转化成BCB可以接受的格式 JDBC for mysql 的使用 -------问题 偶有重回delphi修炼了,当年偶的师傅还在吗?老千,老鱼,chech,小新,老鬼,你们过的怎样?? 你现在正在看的这种页面如何实现? 我很喜欢delphi,但老板要我转学单片机,请兄弟们说几句,是福是祸?up、gz有分! vb的安装问题 请问如何在两个数据库之间进行联合查询? 迷 !!!!!! 天使的旁边是魔鬼 数据集排序问题 哪里有 MS viso 下载,谢! 用DATAREPORT设计报表,这个怎样设计? ASP写的计数器程序问题 天女散分:process basename 中文叫什么,进程什么名? 数据库句柄清除问题 请问我用JBuilder + weblogic61 编写的 EJB,在我拿到别的地方部署,是不是只拿 XEjb.jar和客户端 就行了? 如何让两个byte类型的变量a和b进行异或(^)操作,然后将结果存入另一个byte中? 我也来一个关于ACCESS的问题,高分请教。在线等待 CDC问题:怎样从屏幕尺寸转换到厘米呢?反之呢? VC中如何给动态产生的控件写事件方法?在线等! 》》怎么没有人解决这个问题呀,谁解决,我给分!!!!! 为什么快捷方式不能用? 喝苏打水有什么好处? 碱水是怎么来的?什么样的环境可以得到碱水?人工可以制作的出麽?需要些什么材料? 元素的化学性质与最外层电子数的关系如题 化学性质的活泼和不活泼与.数的关系我问的是有什么关系... 苏打水的功效喝苏打水有什么功效?对人有什么好处? 一台功率为40千瓦,质量为2吨的拖拉机,在农田里以0.5m/s的速度耕田.求拖拉机在耕田是受到的阻力? 近代西方科技与中国的古典科技有什么不同 如果、就造一个句子(与环保有关) 碱水粽的碱水是什么?包碱水粽时,用的是什么碱?是不是小苏打粉?用量要多少? 为什么古代中国人在科技方面远远超过同时代的欧洲? 浓硫酸和乙醇加热一段时间之后能闻到试管中出现一种带有特殊香味和甜味的气体,这种气体是乙烯还是乙醚?是否有毒? 做水晶月饼配料中的"枧水"是否就是"碱水"?若自己制作,应该按什么样的浓度配制?是家庭自做. AL(OH)3+NH3.H2O离子方程式 用不管 总造关于环保的句子快, 夏商的中央和地方的政治制度还有周,秦.汉.隋唐.宋.元.明.清的也要还有他们政治制度的发展趋势这个星期三前请给答案 Al(OH)3能与NH3·H2O反应吗? 氯化钾在工业上的作用 请问英文中的First name ,middle name ,last name 具体的含义,并且以例子为证明比如张三具体怎么填呢 最外层电子数与元素的化学性质的关系快,准马上, 夏商制度与西周封建这课的重点和考点是什么?需要背哪些内容?涉及的重要题有哪些? 英文名的构成!请问高手们,First name和Last name是什么?举个例子:Tom Green,First name和Last name是好像Green是First name吧?大人们教一教 请教几道高一历史的题(关于夏商西周的政治制度)1,为什么说王位世袭制是历史的进步?2,夏商西周时期,带有宗族色彩和专制色彩的政治制度是宗法制吗?3,为什么说宗法制起到了使统治集团 夏商西周国家统治人民的手段有哪些最好像简答题那样列出1、2、3 概括中国早期的政治制度的特征(夏商西周)历史简答题.答的好+++分, 夏商的政治制度1确立背景 2正式建立 夏商西周国家统治人民的主要手段有哪些 夏商的政治制度的主要特点和作用 卫生间防水问题,求问?玻璃水也叫水玻璃胶,防水用的,请问在雨虹吉仕涂100 刷完2便干了后我是否可以把水玻璃倒在上面,会不会腐蚀我刚刷好的防水灰浆. 夏商西周三代各自统治的时间为 夏商早期政治制度的主要特点? 中国封建社会皇帝的女人怎么分的等级? 如果说人生是大海或天空,应该怎么造句子? 夏商西周的中央政治制度这一时期的政治制度是分封制 宗法制 那么 这算是中央的制度 还是地方的制度呢 中国封建社会中总产生了多少为皇帝?在中国封建历史上到底有多少为皇帝呢? 四氢硼钠结构式与化学性质 喝苏打水,什么是苏打水? 英国推举新国王与中国封建社会皇帝的产生有什么不同? 一般球形灯泡的尺寸是多少? 一台功率为50KW的拖拉机,在平直的农田里以0.5M/S的速度耕田(1)求拖拉机在耕田时受到的阻力(2)拖拉机耕田1小时所做的功 将适量的四氯化碳加入到盛溴水的试管中,充分震荡,观察到的实验现象 这种球形抱灯叫什么,哪里有卖 一台功率40KM拖拉机在平直农田里以0.5m\s的速度匀速耕田.问拖拉机在耕田是受到的阻力?要完整的过程已知-求解明天要交了来不急了! 向盛有氯化钾溶液的试管中加适量溴水和四氯化碳,震荡后静置,可看到的现象是?要说明原因! 请问这个球形灯怎么拆下来换灯泡卧室的这个球形灯怎么换灯泡. 水和酒精的分离在生活中有什么应用 都说用苏打水加醋可以更好的清洁厨房用品,那苏打水去哪买或是怎么自制啊 球形景观灯.求一些球形的景观灯 要白天和晚上的效果,大型的景观灯 如何判断顺反异构分子的偶极矩大小,以1-氯丙烯为例. 金属切削液(第2版):选择配制使用与管理怎么样 苏打水的作用苏打水能补能量吗? 化学性质相似的两元素的最外层电子数相等不? 化学--水玻璃硅酸钠为什么水玻璃不可以贮存在带玻璃塞的玻璃瓶中? 果冻中氯化钾的作用 请帮忙翻译:please,enter your first name and last nase 酵母菌制酒时,一开始持续通入空气,这时会产生酒精吗? 苏打水有什么作用 翻译成英文:用Jim 和Green分别填写last name和first name 如何用酵母做酒 最近看在郑州绿之源饮品也出苏打水了,哪位大小告诉我一下苏打水有什么功效额 求翻译first name last name family name 什么是酒精酵母和啤酒酵母有什么关系和区别
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘