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

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(编译/毛梦琪 审校/魏伟)

Mozilla宣布推出Firefox OS 面临四大问题 Ruby 2系列首个稳定版 Ruby 2.0.0-P0发布 微软改进Windows Blue搜索 系统或今夏推出 移动新趋势:扁平化设计 vs. 拟物化设计(下篇) 传奇程序员:Minecraft开发者Notch大神 让沟通更便捷 ConnectYard宣布推出全新的Web API 在Hadoop上运行SQL:程序员需知晓的13种数据工具 怎样用好Eucalyptus? AWS攻势变猛,Rackspace主动降价CDN与云存储 惠普将于下季度推出低功耗的Moonshot服务器 webOS复活!LG收购webOS用于智能电视 那些因为HTML5而将消亡的产品 初窥iWatch用户界面:开创基于时间的全新体验 如何编写出拥抱变化的代码? 20个优秀的前端框架 以AWS和vCloud为标杆看四大开源平台的定位 桌面集成开发环境五年内必将“死亡”? 助影人圆梦奥斯卡 8mm相机应用其实很平庸 苹果应用审查团队叫停Cookie追踪技术 时势造英雄:中国早期O2O创业故事 iOS开发与Android开发的四大不同 “消极抵抗”AWS OpsWork?RightScale首次宣布转售并支持GCE 2012年VC都把钱投给了哪些大数据初创公司? 耐用性将成苹果iWatch最大挑战 Sphinx:首款全硬件加速HTML5游戏引擎发布 PayPal创始人Levchin又创办了一家移动支付公司Affirm Zuck、Bill Gates、Jack Dorsey上银幕激励孩子编程 十款最新开源的开发者工具/应用(组图) Django 1.5发布,Python 3开始进入主流? [爆料]英特尔:将Hadoop“固化”到Xeon中 姗姗来迟:微软终于发布Windows 7 IE10正式版 help me !!!数据库无法启动!!! java IDE 开发环境有哪些比较小而快? 我的外遇 [zz] 走漏,去内蒙古出差,回头再见兄弟门! 做三维游戏都用什么工具? 各位,等这本书有消息后,我重发贴给你们加分,请问大家关于《Delphi高级开发指南》 asp的access数据库问题!! 急切求助!!!!!!!!!!!!!!!!!!!!! 关于把数据库数据生成excel文件的问题 我对现在的女大学生完全没有兴趣! 这样的人才中国有多少 ? 谁有语音卡驱动原程序 谁用过mp3play.ocx,大侠快来救火? 请问vc程序如何打包,可以在离开vc环境也可以运行? 怎么改变默认的打印机? win2000 下运行dos程序 报直接访问硬盘错误,有无解决方案 如何获取文本文件中的内容? 数据窗口问题求急!!! 有关线程。。欢迎讨论。。。 如何让GUI程序拥有一个console窗口 哪儿有可以加载背景图片的TTrackBar下载? 急!!!!! - 可以多加分 十万火急!!局域网不能访问!!(高分) 为什么程序不能发布成可执行文件? help!出现了很奇怪的现象?为什么我的asp代码不执行 等待高手! HtmlInputFile控件的使用问题 在UNIX+ORACLE+C++环境下开发的程序员的工资问题 怎样判定有几块硬盘!!!求助高手!!!!!!! 950元出售SCJP考试劵(仅限成都市) 我想利用asp中的FileSystemObject对象把一个已存在的文件改名,改成我希望的名字? 挺简单的程序运行错,请指点! 在修改vsflex控件内数据的时,输入汉字需要每次设定输入法,有没有好的办法 急求代码大全的英文电子书,哪位有的?在线等!! 小难题 在UNIX+ORACLE+C++环境下开发的程序员的工资问题 取消地址和工具栏? 诚心请教 工具栏上加下拉组合框的问题 FFDD 2.0 系统件开发规则 有MIS或ERP选型经验的朋友请点击,斑竹请务必帮助我! 系统件快速开发解决方案 —系统转系统件方案 关于paradox的字段设置 谁有jb7的注册码?能发给我吗? 我想让一个存储过程最大执行10秒,超时退出,怎么实现? 数据库连接问题 在delphi的paradox 7 的字段设置 单网卡如何帮定双IP? 这样都有?你们给我我的可用分增加了 不用hook,能不能把其他应用程序的关闭按钮或最小化最大化按钮屏蔽掉?? 如何把float转成CString 怎么把SQL SERVER2000 数据库中的表转成.dbf格式的表!谢谢 中国地图上怎么划分南方和北方?以哪个为分界线?山西属于南方,北方? 常温下,某一元酸HA溶液中[OH-]/[H+]=1×10的负8次方.(1)由水电离出的氢离子浓度为?(2)0.1mol/LHA溶液与0.05mol/LNaOH溶液等体积混合后所得溶液2c(H+)+c(HA)=c(A-)+2c(OH-)说法正确吗?请写出做 在Na2CO3溶液中,为什么c(Na+)>c(CO32-)? 酸度0.5相当于pH值等于多少 昼夜和太阳高度如何随纬度和季节变化参见湘教版.十万火急! 碳酸钠物料守恒为什么是物料守恒:c(Na+)=2[c(CO32-)+ c(HCO3-)+ (H2CO3)] 中国南方与北方的具体划分标准是什么?安徽省宣城市是南方还是北方?我是南方还是北方人? 常温下,0.1mol·L-1某一元酸(HA)溶液中c(OH-)/c(H+)=1×10-8,下列叙述正确的是?A.该溶液中由水电离出的c(H+)=1×10-11 mol·L-1B.由pH=3的HA与pH=11的NaOH溶液等体积混合,溶液中c(Na+)>c(A—)> 怎么去漠河北极村?交通情况怎么样 什么什么无辜填词语 烧瓶中的水烧开后停止加热,水立即停止沸腾,如果把瓶塞塞紧,并将烧瓶倒置,用冷水浇瓶底,烧瓶内将会( ) 漠河-北极村漠河到北极村班车每天两趟,价格多少?时间?发车地点?到北极村看过后,怎么回来推荐个旅馆,靠近火车站、班车发车地点的谢谢 用颜色填词语什么什么分明 气候的日较差和年较差随纬度怎么变化? 《我的家在东北》这首歌表达了东北人民什么样的思想感情 梅雨天什么时候开始什么时候结束? 玫瑰是什么词 向0.1mol·L-1 Na2CO3溶液中滴加酚酞,溶液变红色.为什么啊.是要计算的吗.怎样算 谦虚的什么什么填词语 1.将一定量的某盐酸加水充分稀释,则所得溶液的PH值?2.俩种溶液混合后的PH=7,这俩种溶液的PH可能是? Na2CO3这种盐的溶液能使无色酚酞变为红色,某同学想探究是Na+还是CO32-的作用使酚酞变红,他设计的下列实验中,能证明是CO32-的作用而不是Na+作用使酚酞变红色的是( )A:向NaOH溶液中滴入酚酞 09年梅雨天气何时结束 盐酸加水稀释后PH值会小吗?会小于7吗?我们试卷上的 说明正午太阳高度随季节和纬度的变化规律 你好,你说的意思是要有木有水的对吗?那取什么名字好呢?好朋友拜托我的.我想知道详细点.非常感谢! 汽车发动机是如何工作的啊 正午太阳高度变化幅度和纬度之间的关系 982是什么意思? 汽车发动机如何工作100字以内,我们正在学内燃机,说得简要点就行 在《松花江上》中歌词多次出现”九一八“,有什么表达作用 1mol/l的盐酸溶液,稀释1000倍后的ph值如何计算?希望能有较为详细些 漠河北极村最后一次出现极光是什么时候 松花江上歌词不挨打了沦陷区人民怎样的情感和什么愿望 苏教版四年级上册语文习作6 照样子写词语,是什么然什么什么3个 寻找天气的 好句子,急用,要秋天的 ,好的 苏教版四年级上册习作六 作文让我震撼的一幕 照样子写几个词语. 说明气候的诗句 自由落体运动的物体是否发生形变请讲出理由 照样子,写词语, 汽车发动机一会就很热水管更热是怎么回事?我的车型:铃木 羚羊变速器:手动排量:1升行驶里程:15公里购买时间:2002年9月水箱的温度最先高,而且水箱的温度降低的很慢,过一小会发动机 毛细现象违反能量守恒吗?我知道百度上有答案了,不过没有我想知道的,我想知道的是,这个势能是由什么能转换来的请问,分子的动能和势能的改变或者说它们本身有宏观上的表现吗? 请问该怎么写描写夜晚景色的段落 净水器会不会把水里的矿物质过滤掉?最后喝的是蒸馏水? 电饭锅线路图我买了一个万宝电饭煲,在煲汤时指示灯突然不亮了也不加热,不只是何原因?电源线无问题.急. 照样子写词 松花江上运用了反复的修辞手法,指出其中的几句,并说出他表达了作者怎样的思想感情 深层海水的温度为什么是4度左右海水表层的变化明显,为什么到了深层,温度维持在一个相对稳定的状态 描写夜晚景色的段落 反复是这首诗歌运用的主要修辞方法,试分析下列词句的反复所表达的思想感情 (1)我的家在东北松花江上:反复是这首诗歌运用的主要修辞方法,试分析下列词句的反复所表达的思想感情( 海水底部温度为什么不是4度4度时水的密度最大,那为什么 海水底部不是4度. 描写夜晚景色的片段太少 热水变凉了是不是与水汽化吸热有关? 海水从哪里来的,我是说地球上的各个大洋的海水. 常温下,0.1mol/L某一元酸(HA)溶液中c(OH-)/c(H+)=1×10的负8次方为什么c(HA)+c(A)=0.1mol/L 为什么Na2CO3的溶液中,c(Na+)大于c(co32-)大于c(OH-)大于c(HCO3-)大于(H+)只需解释为什么c(HCO3-)大于(H+),谢谢 生物学方面考研与化学和物理多大关系? 常温下,0.1mol/L某一元酸(HA)容液中c(OH--)/c(H+)=1x10的-8次方,怎么得出c(H+)=10得-3次方mol/L?还有,pH=3的HA与pH=11的NaOH溶液等体积混合时,为什么是HA过量? 为什么Na2CO3的溶液中,c(Na+)大于c(co32-)大于c(OH-)大于c(HCO3-)
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘