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

时间序列数据处理的角逐:MongoDB vs. Cassandra

HTML文档下载 WORD文档下载 PDF文档下载
MongoDB是最具人气的文档数据库,而Cassandra是最具人气的列存储数据库,然而这两个在适用场景上似乎有着明显区别的解决方案近日却擦出了火花。

MongoDB与Cassandra是两个最具人气的NoSQL数据库,MongoDB更是NoSQL领域当之无愧的人气王,而Cassandra则常年霸占着列存储领域的首席,相比之下备受关注的HBase却因众多原因一直屈居次席。近日MyDrive Soulutions运营和架构总监分享了这两个人气NoSQL数据库在其公司的实践,并给出了相关对比,以下为译文:

使用Cassandra替换MongoDB来管理时间序列后的飞跃

使用场景

MyDrive拥有一个基于AWS托管的数据处理平台,由Resque工作者负责。作为一个远程信息处理公司,我们需要处理非常多的时间序列数据,初始我们采用了MongoDB。作为初期方案,MongoDB最初定义就是临时性的选择。

MongoDB表现的也是相当不错,然而不同大小负载处理时间的不可预测性带来了很多困扰,同时也让数据处理管道的优化变得非常困难。基于MongoDB的设计(大部分的关系型数据库同样如此),返回30个文档与返回300个文档的作业将触发不同的I/O负载,而返回30个文档的作业肯定要比300个的快。当然不管是30还300,处理的速度都不是很快,即使使用了非常好的索引及非常合适的实例。

此后,我们不得不对MongoDB实例进行一定的纵向扩展;当然如果长期如此,将带来非常多的额外开销。

解决方案

从开始,目标就被锁定在Cassandra上,因为AboutUs 5.0之后的版本都使用了Cassandra。它已经向我们证明了强大的可靠性、可见性以及弹性。这些特色在整合了横向扩展之后,让Cassandra成为一个当之无愧的杀手级数据存储。

一般情况的数据流为写入数据>>读回>>修改>>写入>>再读取,这些操作被不同用户执行。虽然这不是Cassandra的设计理念,但是Cassandra却非常适合我们的查询方式。

Cassandra确实非常适合时间序列数据,因为可以周期性的将时间序列数据写入1列,然后通过部分字符串对比来查询一定时间范围内的数据。这样的话使用列就比使用行更加的高效,而加载单行可以让你获得巨大的I/O性能。然后Cassandra必须至少读取一个数据,而随着数据持久化到磁盘的进行,所有剩余的数据都将被读取。

我们使用时间戳作为ID的前半部分,这样的话就可以做任何时间段的范围查询——每行都体现出了一条数据,而列则体现了时间序列数据的一个周期。这样所有数据都可以通过键及起止时间查询。

鉴于我们工作负载的类型,使用MongoDB时,写操作的数量会严重影响到读的性能,而使用Cassandra就不会有这种情况发生。

前后对比

上面的突变显示大半年的性能,蓝线表示的是受数据存储性能影响的部分。很明显在做MongoDB优化及横向扩展硬件时性能的落差很大,然而这些对Cassandra毫无影响。

我们阶段化的关闭了MongoDB,开始是停止了对其写入,最后停止了在MongoDB上的读操作(在图片上使用了红色箭头标注),不过图片上没有显示的是在过渡到Cassandra后加入了大量的批处理作业。

原文链接: Cassandra vs MongoDB For Time Series Data(编译/仲浩 审校/周小璐)

更多内容请关注CSDN云计算频道 及@CSDN云计算微博

分析称平板电脑应用将占全球应用经济的35% 三大运营商对微信等OTT业务摊牌 Runscope联合创始人John Sheehan:API已死,API永存! IBM在京发布大数据白皮书 提出五项关键建议 Twitter开源Parquet 将支持Impala加速实时查询 使用Go代替Ruby,将服务器数量从30降到2 初创公司SwiftStack:“放在盒子里的S3” 赫尔辛基:全球移动游戏开发者的“黄埔军校” 不只属于三星!uMoove将发布“眼球追踪”SDK Android掌门人Andy Rubin宣布辞职 Chrome主管接任 openSUSE 12.3发布 弃MySQL拥抱MariaDB Meteor:让实时Web App成为主流 别了,Google Reader!谷歌于7月1日关闭服务 “天网”降临 机器人或将崛起? 涅槃重生:Qt 5 for Android预览版发布 Google Play将逐步移除广告拦截应用 Shapeways公司开放API 3D打印时代来临 37signal设计师眼中的iOS与Android系统 VMware/Oracle向公有云拓展生态系统 AWS“山寨”技术伙伴创意与产品,是自我完善还是杀鸡取卵? 苹果发布OS X 10.8.3 新版Boot Camp可支持Windows 8 恭喜!麻省理工两密码学教授获2012图灵奖 Rovio的逆袭,发布首款RPG游戏“克鲁德一家” 百会呼吁微软提供合法经营Office 365的相关证明 谁说Vim不是IDE?(四) RDS升级:单DB实例最高可获得3TB存储和3万IOPS 移动周报:“先验证,后开发”的App开发必杀技 Supercell首席执行官谈公司运营理念 SwiftKey:Galaxy S4输入法背后的开发团队 前IE团队领导:IE是如何走向衰败的 谷歌更新BigQuery 允许在其中加入大型数据集 请大家帮忙看一下,关于Delphi的三层MIS开发 如何获得经典的C++/MFC方面的电子文档,中英都行,谢谢! 压缩中提到的文件头有什么作用 , 请问各位专家,在网页上如何制作视频点播?有几种方式! 我报了中程谁有历年的中程试卷? 我收到的信都是?号,怎么看???? VB中是否有移位操作符??是否有_能够得到数据类型宽度的函数? 哪里有core java的e版down啊? 有事好商量!请进! DLL编程错误,请高手指教一下!! 活见鬼,真气人....... 问一个trigger问题? 问一下:我的char*都用_T("asdfsafd")表示了,资源也没任何问题,可有时候运行程序显示乱码 在论坛里,发一个帖子新开一个窗口,当发完后让原来那个窗口刷新一下 我的机子到底怎么回事???? 我试试.. CListCtrl中如何选定整个一行? 来到济南天气太热,特来送分 ★★★★★ 见于现在伪ID和盗用密码的现象十分嚣张,我提议…… ★★★★★ 请教各位,我用vb6.0访问ms sql7.0数据库,为什么有时出现,“过期,数据已超时?” 请问COM和DLL有什么区别和联系?(30分) 关于侯老师 win95-a-developers-guide 一书的源配书... ISAPI中不能存取ASP中的Session、Application变量?高手你老人家在哪里? 大家来看看这些招聘题目合不合适 提一个网页制作的问题哈,大家不要扔西红市啊,网叶制作可是程序员的基本技能之一 activeskin里的skinbuilder有谁用过???来讨论吧 我在msdn上看到vb中的字符串有两种:定长字符串和变长字符串。请问如何分别声明这两种类型? 怎样在ADO中引用已打开的recordset的某一字段值,请给几个例,谢谢了! seedundersnow and holyfire help me!about 8253! 谁有cute ftp 4.2.6 beta的注册码 请问如何把页面查询到的记录导入到Excel中呢? 有用过TAdvStringGrid的吗?OnGetEditorType( )为何不被调用? 请教高手如何用Xsl编制函数控制Xml??急急 哪位给一个MD5的例子!谢谢了 长春的李延生来领分 求救:一个VC中多线程的问题 提个问题,原来对VC尤其是界面和C++语法这一块比较熟,现在由于公司需要转C++BUILDER,难不难,需要熟悉哪些 [总300分,会继续加分]哪位大哥用编程实现过创建SQL Server的DTS package并且run the package的全过程[急] 能不能使用html 压缩中提到的文件头有什么作用 , 保含哪些信息 菜鸟问题1 提一个网页制作的问题哈,大家不要扔西红市啊,网叶制作可是程序员的基本技能之一。。。。。。。 关于:import java.util.StringTokenizer; 问题! 如何实现在某特定时间(如每月1号,或7天后)执行特定asp程序? 在开发工具中如:(vc,jsp)中如何得到oracle中自定义函数的返回值 当form被移动的时候会相应什么事件的? 关于使用mscomm32.ocx中的一些问题 类似股票信息显示系统的问题(图形显示) 强烈抗议:无怨无仇,为什么冒用我的ID 写一些乱七八糟的东西????? 一个简单的线程问题! 请问高手:两个类之间的关联关系如何实现? 简便计算:0.75x16+3/4x5一75% 2.7x0.6+4/5x2.7-2.7x2/简便计算:0.75x16+3/4x5一75% 2.7x0.6+4/5x2.7-2.7x2/5 95x38+62÷1/95 {5/6-(2/5+1/3)}x5/7分数啊.急 设x1,x2是关于x的一元二次方程x的平方-2mx+m-1=0的两个实根,则(x1+5x2)(x2+5x1)的最小值为? 2²+4²+6²+···+50² 编写一个程序,计算x-1/2*x3/4+1/2*3/4*x5/6-1/2*3/4*5/6*x7/8+.的近似值直到最后一项的绝对值小于eps 用c语言编~ 设X1,X2为方程x²(平方)+X-3=0的两个根,求X1³(立方)-X2²(平方)+30的值 2²+4²+6²+.+50²等于多少等于多少赶时间 (X一5/6)X5/6=25. 设函数f(x)=x3-6x+5,xεR1;求函数fx的单调区间2,求函数fx在区间[-2,2]上的最值 计算:1²-2²+3²-4²+5²-6²+...+49²-50²急、在线等 解方程,(x+5.5)X5=120怎么算用T等式 求函数f(x)=x3-5x2+8x-4在【0,3】上的值域 求(a-2)²-6(2-a)的值 其中a=-2 计算(一5)一(一5)x5分之一x(一4) 设函数f(x)=x3-6x+5,xεR 1;求函数fx的单调区间 2,求函数fx在区间[设函数f(x)=x^3-6x+5,xεR 1;求函数fx的单调区间2,求函数fx在区间[-2,2]上的最值 (1).(a-b)²-(a-b)-2 (2).(a+b)²+(a+b)-6 已知sinθ,cosθ是关于x的方程x^2-ax+a=o的两个根 θ求1.sin^3(θ)+cos^3(θ)的值2.tanθ+1/tanθ的值 f(x)=2^2x-5x2^x-1+1,它的最小值是?RT.实在算不出来了,只能求助各位大大了0.0f(x)=(2^2x)-(5x2^x-1)+1 a-b=2,a²+b²=6,则ab=? 已知关于x的方程2x^2-〔(根号3)+1〕x+m=0的两根为 sin θ,cos θ ,θ∈(0,2π)1.sinθ/(1-cotθ)+cosθ/(1-tanθ)的值2.m的值3.方程的两根及此时θ的值 用秦九韶算多项式f(x)=6x2+3x2-5x2+4当X=4的值时需要把多项式改写成什么 若a+b=6.ab=2.则a²+b²=()(a-b)²=() 已知 θ∈【0,2π】sinθ,cosθ是关于X的方程X方-KX+K+1=0的根,求角θ 已知函数f(x)=0.5x2-x+1.5的定义域和值域都是[1,-b],求b的值. ①a(a-1)-2=0②a(a²-1)-6≠0.求a 已知关于x的方程2x^2-(√3+1)x+m=0的两个实数根为sinθ和cosθ,θ属于(0,2π)求方程的根及θ的值 已知f(x)是二次函数,且f(x)+f(2x)=5x2+3x+2,求f(x) 打一成语 一 7/8 1、2、5 二四六八十 0000 40÷6 1% 7÷2 1000²=100×100×100 设x1、x2 是一元二次方程x2+4x-3=0的两个根,2x1(x22+5x2-3)+a =2,  则a = .设x1、x2是一元一次方程X平方+4x-3=0的两根,2x1(x2的平方+5x2-3)+a=2,则a=我知道怎么算了 a=8 心情好啊 f(x)=5(x≤1) f(x)=1/x-1(x﹥1) f(5)= f(1/2)=f(x)=5(x≤1)f(x)=1/x-1(x﹥1)f(5)=f(1/2)= 打一成语 (1)一 (6)0000 (7)40÷6 (8)1% (9)7÷2 (10)1000²=100×100×100二四六八十÷7 设X1、X2是一元二次方程 X - 4X - 3 = 0 的两个根,2X1(X2+5X2-3)+a=2,则a=___ f(x)=x(1-x)(x大于等于0) f(x)=x(1+x)(x小于0)判断f(x)奇偶性 (1²+3²+5²+……+99²)-(2²+4²+6²+……+100²) 设x1,x2是一元二次方程x²+4x-3=0的两个根,2x1(x2²+5x2-3)+a=2,则a= 已知f(x)=x(1/2x-1+1/2)⑴判断f(x)的奇偶性 ⑵求证:f(x)大于0 一个圆柱形蓄水池,底面半径4米,深5米(1)这个水池能蓄水多少吨?(每立方米水重一吨)若在这个水池的侧面和池底抹上一层水泥,抹水泥的面积多大? 1-2²+3²-4²+5²-6²+……+99²-100² 关于x的实系数一元二次方程x²+ax+2b=0的两个实数根分别位于区间(0,1)(1,2)则b-2/a-1的取值范围是 一个圆柱形水池,底面半径3米.5米.这个水池最多可盛水多少吨?(1立方米的水重1吨) 1²-2²+3²-4²+5²-6²+····+99²-100²=急求,好的加分 关于x的一元二次方程5x²-ax-1=0有两个不同的实根 一个位于区间(-1,1)另一个(1,2关于x的一元二次方程5x²-ax-1=0有两个不同的实根 一个位于区间(-1,1)另一个(1,2) 则实数a的取值范围 求 某动物园有一个圆柱形状的水池内直径10米深0.6米.如果放水后水面离池口0.1米,有水多少吨(1立方米水重1 7.5X2.7+1.9X2.5 使用乘法分配率 设实系数一元二次方程x^2+ax+2b-2=0有两个相异实根,其中一根在区间(0,1)内,另一根在区间(1,2)内,则(b-4)/(a-1)的取值范围是我知道这题可用线性规划做.想问下,为什么不能用韦达定理,也就是 4/5 x4+2/5x2+1/5x16 简便计算 怎么简算.0.5x2.5x12.5x64 实系数一元二次方程x²+ax+2b=0有两个根,一个根在区间(0,1),另一个根在区间(1,2)内,求:(1),点(a,b对应的区域的面积?(2).b-2/a-1的取值范围.(3).(a-1²)+(b-2)²的值域 六年级4/5x4+2/5x2+5/1x16怎么算啊? 1.25X0.32X2.5 简算 把一元二次方程-5x2+x-3=0的二次项系数变为正数,且使方程的根不变,则变形后的方程为().这是选项:A.5x2-x-3=0 B.5x2-x+3=0 C.5x2+x-3=0 D.5x2+x+3=0 (4.4x7.5x4.8)除以91.5x2.5x2.4)简便运算 1.25x0.32x250 简算 已知sina是方程5x2+7x-6=0的根求[sin(3π/2-a)tan(2π-a)]/[cos(π/2-a)cos(π/2+a)]的值 3、5x2、1,简便运算 (4.8x7.5x8.1)除以(2.5x2.7x2.4) 已知方程5x2+kx-6=0的一个根式2,求它的另一个根及K的值 简便运算:11分之2x7分之5+11分之5x2又7分之6,对的我一定立马采纳, 2/5x2/10+9/10x0.4-2除以5x1/10,x:是乘,尽快,我明天要演讲了 设X1,X2是方程X的平方+X-3=0的两个根,则X1的立方-4X2的平方+19的值是
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn