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

MySQL还是NoSQL:开源盛世下的数据库该如何选择

HTML文档下载 WORD文档下载 PDF文档下载
MySQL,关系型数据库,有数量庞大的支持者。NoSQL,非关系型数据库,被视为数据库革命者。两者似乎注定要有一场厮杀,可同属开源大家庭的它们却又能携手并进、和睦相处,齐心协力为开发者提供更好的服务。

【编者按】MySQL体积小、速度快、成本低、结构稳定、便于查询,可以保证数据的一致性,但缺乏灵活性。NoSQL高性能、高扩展、高可用,不用局限于固定的结构,减少了时间和空间上的开销,却又很难保证数据一致性。两者都有大量的用户和支持者,寻求两者的结合无疑是个很好的解决方案。作者John Engates是Rackspace主机托管部门CTO,也是个开放云支持者,他为我们带来了详细的分析。


CSDN推荐:欢迎免费订阅《Hadoop与大数据周刊》获取更多Hadoop技术文献、大数据技术分析、企业实战经验,生态圈发展趋势。

以下为译文:

开源数据领域被分成了两派,NoSQL狂热支持者喜欢发表长篇大论批评关系型数据库的局限性,MySQL爱好者则固执地捍卫关系型数据库——坚持让数据整齐地存放在表中。


你肯定会认为这两方决不可能和睦相处,但事实上,成千上万的公司一直都在努力将关系型和非关系型数据库结合起来,而且很多年前就有这样的尝试了。

但新技术的发展往往和过去的技术对立。当NoSQL发展起来时,光这个名字听起来就像是要宣告关系数据库的终结,但这是不可能的,至少不会这么快。

Craigslist的成功

Craigslist公司无缝集成结构化和非结构化数据检索是个很好的例子。过去,该公司一直用MySQL处理频繁的任务和分类广告。

尽管工作量很大,MySQL还是能轻松地完成这项任务。只有当存档数据达到超纪录的级别时,才会产生对NoSQL的需求。由于管理的要求,Craigslist必须将所有历史数据存档——即使是SXSW期间为奥斯汀那昏暗、高价的公寓所做的广告也得存档。

如果一个关系型数据库依靠数据之间的逻辑,那前端架构的更改必然会影响到存档数据。这是一个高风险、高时耗的过程,而且它会造成停机时间损失。想象一下去更新带有10亿条记录的MySQL服务器集群!

Craigslist发现需要以离散方式处理两类数据——当前数据和历史数据。Craigslist或许已经转而使用MongoDB帮助应对数据的增长,但是与MySQL一起运行的NoSQL也从没有出现过问题,这说明MySQL和NoSQL可以很好的结合。

开源同盟

越来越多的应用开发商和托管服务提供商认识到NoSQL和MySQL一直是开源同盟,没有因数据库类型不同而成为不相往来的仇敌。归于一点,数据就是数据,它应该用来为应用程序和用户服务,不应该受到后端数据库的限制。

越来越多的Rackspace客户发现自己面临和Craigslist同样的处境。当关系型数据库涵盖所有他们的数据领域时,他们构建了自己的数据结构,而现在他们已经进入应用时代了。

达到100万客户原先需要数年时间,现在只需要几周就可以了,而且社会共享和实时查询对数据提出了新的要求——也需要支持这些数据的基础设施,这一系列变化使他们面临的数据量达到了每月10亿之巨。

他们不一定要挖掘MySQL数据库,但他们需要增加数据引擎。为了增加数据库的速度和灵活性,MongoDB、Cassandra或者Redis(这类数据库)会被纳入数据结构中。但这些开源数据库不太可能用于存储用户机密信息或者财务记录,因为这些内容必须始终保持一致性。

目前,技术公司在聘请传统关系型数据库管理员同时,组建一个NoSQL应用开发团队也很常见。有时,基于关系型数据库和非关系型数据库的同一个应用甚至可以在Web层进行通信。

过去的数据库管理员必须和新一代使用NoSQL编程的开发人员合作,进行有关部署和体系结构的决策(也许这些数据库管理员和开发人员也能成为朋友)。

可能这类公司连数据库管理员也没有,它们将所有的应用和数据层外包给托管服务供应商,这样的话,它们就得充分利用深厚的专业知识和团队合作,才能跨越SQL与NoSQL之间的鸿沟。

选择其中一个?还是两者都要?

应用程序是否应该与关系型数据库或NoSQL(也许是两者)相一致,当然,这得基于被生成或被检索数据的性质。和大多数科技领域的事物一样,做决定时要折中考虑。

如果规模和性能比24小时的数据一致性更重要,那NoSQL是一个理想的选择 (NoSQL依赖于BASE模型——基本可用、软状态、最终一致性)。

但如果要保证到“始终一致”,尤其是对于机密信息和财务信息,那么MySQL很可能是最优的选择(MySQL依赖于ACID模型——原子性、一致性、独立性和耐久性)。

作为开源数据库,无论是关系型数据库还是非关系型数据库都在不断成熟,我们可以期待还会有一大批基于ACID和BASE模型的新应用产生。

暂且把它称为混合方案。有时这些应用程序的设计需要认真地权衡利弊,有时还能意外的得到发展,做出一系列调整以适应不断变化的数据需求,毕竟,谁能预测到今天社会共享数据的大规模增加(即使是在五年前)?

像往常一样,开发人员处于这种创新的最前沿,他们促使托管服务提供商将这两个数据领域结合到一起。在必要时候,他们还会对开源数据技术进行修正。

比如,在Oracle占有了MySQL后,MySQL有闭源的风险,基于MySQL的MariaDB很好的替代了MySQL。开发者社区要求其开源工具完全透明,包括开放对测试用例bug修复的权限。

此混合方案在2014年将继续发展,托管公司也会提供更好的支持。在媒体上,我们就不会再说“要么关系型数据库,要么非关系型数据库”这样的话了。

这和混合云领域所用方法是类似的。专用硬件有着优越的性能,而公共云有很好的可扩展性,结合两者优点可以带来更大的灵活性,产生最合适的解决方案,这才是解决问题的最优办法。

毕竟,数据收集和解释的最终目标是捕获这个瞬息万变世界发生的每一条信息。数据,无论来自何处,都只是一个窗口,真正重要的是透过这个窗口看到的景象。

原文链接: Open source data grows up: Choosing MySQL, NoSQL, or both(编译/毛梦琪 审校/魏伟)

亚马逊AWS落地中国,云计算产业圈集体发力 Node.js 2013年大事记 【开源推荐】ThinkPHP:大道至简,让Web开发更简单 IE11中的WebGL探秘:渲染速度超Chrome 数据驱动智能:百度在计算广告学领域的技术突破 UX设计师和软件开发者,谁将是2014年的老大? 爸爸去哪儿:开发知名题材手游压力山大 多平台同步 谈IE11全新功能 高通副总裁沈劲:移动是产生变革的强大原动力 高性能、高流量Java Web站点打造的22条建议 云巅:第三代虚拟技术+搜索引擎+乐高理念打造分布式桌面云 Intel:从“芯”构建下一代数据中心 WhatsApp:50名员工,月4亿活跃用户,日160亿条消息和5亿张图片 三星Galaxy Gear智能手表失利 需改进的8个方面 IE11全新的F12开发人员工具详解 研发周报:为什么开发者担心将代码公布 Hadoop YARN的发展史与详细解析 一周消息树:Firefox OS会不会成为下一个Android PhoneGap 3.3.0发布,支持Android 4.4 KitKat 移动周报:两岸三地在线编程学习网站大搜罗 有道周枫和他的“放养”团队 看IE11如何助力AAF推动公益事业 SUSE总裁Nils:将SUSE Cloud 2.0打造成“零影响的云安装程序” Windows 8之父Steven Sinofsky:2014年科技界的十大趋势 电视盒子还没智能化?看Fan TV们怎么玩 畅游启动“必赢计划” 十亿巨资代理优质产品 数据控使用Hadoop的三种最常用方式 值得创始人学习的五大企业文化管理方式 圣诞节快乐:来自程序员们的问候 宏碁任命新CEO Jason Chen:曾任职英特尔14年、台积电8年 史上第一次越狱发布会与Evad3rs太极助手罗生门 请教---------一个函数返回指针值的问题!!!! 如何可以筛选出被修改过的数据记录。。。。。。 如何在广域网上实现SOCKET通讯,与局域网有什么不同? invocation在Java中怎么翻译啊? oracle中增量导数据的问题!! 过多的异常捕捉会影响程序性能吗? 二个form时怎样用request来收取数据? 在sybase里健好的表如何从新修改? 一个小问题,这个变量是什么类型的??? 使用通讯控件的疑惑 怎样实现在文本文件中修改某一行的其中字符串 Nokia MobileSet中如何让手机识别中文? 注册表坏了怎么办? 大哥们,能否告诉小弟,在 ms sql server2000中如何修改 sa 用户的口令 我的超星不能用了!!! 十万火急:PDF文件修改 大哥们,能否告诉小弟,在 ms sql server2000中如何修改 sa 用户的口令.. 作为初学者,每天的问题太多了?帮我看一下下面的小问题 我上午53,下午58.该不会下马吧????/我相知道什么时候才能知道是否已经Pass,什么时候下证? 有关DELPHI6中使用SKINENGINE??? C++ Builder中多国语言的问题 在哪下载到Exchange 2000 Server Resource Kit? 快捷方式损坏怎样修复? bluesky069(菜鸟一族)你帮助我把那个PBL放到蛛蛛的信箱好不好呢?让大家都可以下在的! 请问哪里有w32dsm.exe的教程??? 潘译<>印刷错误百出,令人不忍卒读... LISTBOX的问题?请高手帮忙!!高分向送! 帮我想想这个主键该怎么建SQL SERVER7 如何将控件,恢复init()到初始状态 急救:装有SCO UNIX的硬盘克隆后不能启动系统,怎么办? 如何在FTP的目录下再新建目录?我初学网络编程, 怎样设置ScrollView中的ScrollBar不可见? 有关comboBox问题??????急!急!!! 有那位朋友对ADO控件调用T-SQL的链接服务器或存储过程的命令有所了解,或知道怎样取链接服务器的相关信息 真诚的向大家请教一个问题!!先谢谢了 redhat linux7.2安装完成后,怎么没有工具栏 已知manager是employee的子类,那么这么写Employee epy=new Manager()为什么合法? 第五次提出这个问题:如何通过DELPHI调用SQL SERVER 过程向SQL SERVER 存入图象。 为什么我在新闻聚焦中发表不了评论? 在VB里怎样用ADO存贮Access的Memo型字段? 誰有在PB下用powersock做的聊天程序? SQL的好书是什么呀?难道就没有人有体会? vb怎样格式化硬盘?? 做个《曹操传》之类的游戏需要多少投资? 关于sfc(系统文件扫描)的问题 高分求解,大虾请进 买了java程序员大本营的请进!!!! 请大家陈说学msce的前途 如何使用ProgressBar casting在java中是什么意思啊? querymode 查询器不稳定吧? 如图,在△ABC中,AD是∠BAC的平分线,DE⊥AB于点E,DF⊥AC于点F,求证:AD⊥EF.如题,图如下, 仪表压力变送器问题压力变送器现场安装ZDY9800 0-200kpa的,这个规格的没有了,我想用ZDY9800 0-600kpa的压力变送器,请问对测量的数据准确性有影响吗? 光在固体、液体、气体、真空传播快慢的关系 如图,△ABC中,E、F分别是AB、AC、上的点.①AD平分∠BAC:②DE⊥AB:DF⊥AC;③AD⊥EF.以此三个中的两个.条件,另外一个为结论,可构成三个命题,即①②→③,①③→②,②③→①.(1)试判断上述三 压力变送器怎样连接仪表 物理题一道,求画图方法 如图,AD是△ABC的中线,E,F分别是AB,AC上,且DE⊥DF,求证:BE+CF>EF. 二线制压力变送器怎么接入四线制仪表就是输入信号4-20mA的仪表怎么接受二线制的压力变送器的信号,怎么连接的 求解中学画图题? 如图AD是△ABC的角平分线DE//AC交AB于E,DF交AC于点F.求证:AD⊥EF. 两个力互成30°,大小分别为90N和120N,用作图法求出合力的大小和方向 机械原理题目,作图法求解!已知行程速比系数K=1.5,机架长LAD=100mm,连杆比曲柄长76mm,摇杆离固定铰链A最近的一个极限位置与机架AD成45°,试用图解法设计该铰链四杆机构.并说明所设计出的机 节流装置和流量计的区别是什么?流量计和变送器的区别是什么?有点晕有一种防堵测量装置算流量计还是节流装置? 用画图法求三十度六十度的合力有偏差吗?怎么办? 数学画图题,求画图方法 V锥流量计测量空气的安装要求DN200管径 垂直安装是否可以 两个互相垂直的共点力的大小为30和40牛.用作图法和计算法求它们的合力. 作图题怎么写? 调整型流量计中心节流装置锥体有什么用 如何通过功率算电流,再如何通过电流计算电缆截面积如题 从事中央空调行业,一般都是380V的电压...想学会如何通过机器设备的功率来算用多粗的电缆...希望简单易懂,如果有分类请详细讲解, 铜导线的电阻率大约是多少? 菲格瑞思平衡式流量计与传统节流装置有哪些区别? 作图法确定光源,如图 有一铜块,重量为G,密度为D,电阻率为ρ0把它拉制成截面半径为r的导线,再用它做成一半径为R的圆形回路(R》r).现加一个方向垂直回路平面的匀强磁场,磁场的磁感应强度B的大小均匀变化.则( ).(A 如图,已知:△ABC全等于△FED,求证:AB‖EF 2个互相垂直的共点力大小分别是90N和120N用作图法和计算法求合力大小和方向 怎样计算铜导体的电阻率怎样计算铜的电阻率(LR) 截面积为:3.868794mm平方 长度为1米 电阻值为4.41欧姆每千米.怎样计算电阻率,因为我计算出来的已经大于国家标准0.17241我想问下我是不是 如图,直线AB平行于EF,角CDE=130度,求角ABC+角BCD+角FED的度数 用画图法,怎样确定不规则物体的物体的重心一:一块不规则四边形,如何用画图法确定重心?二:一杯水,再底部钻一小洞,使水不断向出流.问:整杯水的重心如何变化,重心最低是多少 只要是铜的导线1.0的都是一样的电阻率吗? V锥流量计可以用于对原油的测量吗? 如图,AB∥EF,试探究∠ABC,∠BCD,∠CDE和∠DEF之间的关系,并给出证明. 电阻率公式解析电阻率公式的解析,要简洁明了,清楚易懂.快 如图,已知BC//DE,∠ABC=∠DEF,试判断AB和EF的位置关系并说明理由 已知AB//EF,BC垂直CD于C,角ABC=30度,角DEF=45度,求角CDE的度数 电阻率计算公式即 P(电阻率)=S(横截面积)R(电阻)/L(长度) ? 如图,∠ABC的两边分别与∠DEF的两边平行,即AB‖ED,BC‖EF1)在图1中,射线BA与ED同向,BC与EF也同向;在图2中,射线BA与ED异向,BC与EF也异向;在图3中,射线BA与ED同向,BC与EF异向.请问:在上述三种情况 当电路中的电流过大时,电线容易发热甚至引起火灾,原因是什么?怎样才能避免发生这 求 管道大小与压力与流量之间的关系式 如图所示,已知AB//DE,BC//EF.求证:△DEF相似于△ABC. 电流大时电线会发热,请问电压大时电线会发热吗? 铝电缆的电阻率的计算公式急:输出电压是380伏,功率是40千瓦的电机,用铜线电缆传1000米远,应该用面积多大的铝线?我家买了3根铝电缆 每根16平方够吗? 已知如图,A,F,C,D四点在同一直线上,AF=CD,AB‖DE,且AB=DE..求证:(1)△ABC≌△DEF(2)BC‖EF 己知电机功率怎样计算电缆截面积 真空泵极限压力国外的真空泵的极限压力一般是全压力还是分压力啊?有的客户要求10-3Torr,可我看了下大部分的中国制造商都只有2PA=1.5×10-2Torr,或者1.33Pa=10-2Torr,分压力倒是都可以达到.难道是 400A电流380V电压电机选择多大的电缆 热电偶出来2根线+,—,怎么和显示温度数字的仪表接线?如果用变送器,热电偶怎么跟变送器接线?变送器把电压信号变为电流信号后一般和什么设备连接 真空泵的入口压力跟出口压力分别对真空泵有什么影响? 三相380V电机的功率为1.5KW,现改为电源为三相220V/60HZ ,启动电流会增加多少? 铜电线的承载电流大小与铜线的截面积是什么关系?与电压又是什么关系? 已知两个力的大小分别为3N和4N,用作图法求出这两个力互成0°、60°、90°、120°、180°几种情况下的合力 12KW的电动机三相380V电源要多大的电流?且要多大的电线? 电力电缆截面积与电流的关系求:电缆截面积与电流的关系表,民用一般都220V比如2.5平方的线能带起2500W-3000W的功率也就是10A的电流,那给关系表谁能给份,我这里只有57分. 用作图法求出下列各力的合力.作用在同一物体上的两个力,F1=F2=10N用作图法求出下列各力的合力.(1)作用在同一物体上的两个力,F1=F2=10N,它们互成120度角.(2)作用在同一个物体上的三个力,F 一台设备电压为380V(多台电机及照明),在三相进线电缆上用卡钳表量电流每相为100A,请教每小时耗电量多少 所有一切变送器的工作原理是什么?比如温度变送器,压力变送器,液位变送器,它们是怎么变送的? 铜、铝、铁的电阻率分别是多少?请说出大小和单位! 如图,在△ABC中,D是BC边上一点,DE⊥AB于点E,DF⊥AC于点F且DE=DF,EF与AD交于点O,求证AD⊥EF.图发不上来, 是不是有几个压力控制仪表就会要装几个压力变送器吗? 一切气体、液体、固体物质都能传播声音,在真空中会如何?①不能传播声音;②条件不足,无法判定.教教我 Thank you!
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn