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

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

Uplinq2014:亲身体验Vuforia与智能眼镜设备 MDCC 2014 移动开发者大会议程全面揭晓! 顺丰模式:物流行业“互联网化”的科技之路 移动应用云服务工具APICloud宣布完美适配iPhone6 从应用分发到能力开放 华为开发者联盟沙龙上的共赢理念 SOOMLA框架:移动游戏分分钟创建个虚拟商店 Facebook:如何让应用适合所有系统、带宽以及屏幕 Docker实践者不能错过2014 Container技术大会的九大理由!(讲师议题全面揭晓) 2014全球云计算大会中国站(CC China)精彩集锦 腾讯X5浏览服务正式开放 30多款APP成为首批受益者 Node.js设计经验谈 LeanKanban University首位中国认证讲师路宁:看板会为更多国内企业带来深刻变革 环信IM沙龙纪实:无分享不IM,无社交不未来 【工具推荐】ESL:更简洁、更高效的标准加载器 【先锋】亲加通讯云:以云服务模式为App提供社交引擎 2014中国移动开发者大调查第一批获奖名单大曝光 移动开发云服务AVOS Cloud宣布完成A轮融资 Uplinq2014:人工智能嵌入硬件 万物互联建生态 Uplinq2014:基于Vuforia的新奇智能玩具 一应俱全!开源跨平台3D应用开发框架Minko 【线下技术培训】敏捷测试实战解析和系统方案 《近匠》Ping++:简单、高效、第三方支付SDK 有关编程的12个猜想 【问底】王帅:深入PHP内核(二)——SAPI探究 【CTO俱乐部走进汽车之家】活动图文实录 只为逼格?超薄便携式无线充电设备Deuce 戴尔未来重心:云计算、大数据、移动互联与安全 【讲师】搜狐于顺治:Container在搜狐PaaS平台中的应用实践 【先锋】从代码层诊断,云端OneAPM平台让开发者专注开发 阿里将推无线领域重磅计划 阿里百川无线开放大会揭晓 提升网站转化率的四步优化方案 tc++3.0如何编写读鼠标程序(急) 都进来看看,程序员的下场... 各位高手,小弟问一个傻问题:怎么在播放一个AVI的时候用自定风格的滑块控制? 我上次在CSDN 上看到有人发贴子说自己写操作系统,我现在有个朋友也在写,想和他联系,但是我现在找不到那个贴子了, 有谁记得那个人的名字或贴子的位置请说.谢谢. 求助:打开网上邻居很慢为什么? 问一个蠢问题:控件何时获得焦点 请问一下哪里再收购软件呢? 请问一下在哪里可以找到收购软件的公司呢? 想作一个DOS程序,实现多台电脑间通过网卡传输文件. 辞职信 application.initialize完成了什么 高手来帮忙啊~ 看看java的魅力 如何通过自制程序的编辑框向现有一般应用程序编辑框传送内容? 窗口执行顺序问题,请多帮助,谢谢 如何自动取得server的日期和时间 怎样让文件指针指到文件末尾,必须skipline一行一行跳吗? 我想在菜单前添加图标,使用Bitmap属性但是为何只能载入*.bmp文件而不能使用*.ico文件,我只有*.ico的图标,请问该如何解决。 有新建一个文本文件并给其命名的函数吗,怎么用 我还真不懂呀? 这个COLTYPE是怎么用的呀?你说它怎么得到表中字段的类型呀? 有关存储器(ram,rom)的编址问题。以及32位或更多位芯片的问题。 一些汇编问题。想来问bcb的兄弟{bcb里好象有不少汇编高手} 救命:在安装了sco openserver之后,系统不能启动,先前安装的win98和win2k也不能。 请问如何进行URL译码??? 请问怎样截取一个string中的一段? 请问delphi做的exe最小可以到多少?怎么做? 我想请问一下WINGATE的具体怎样在WIN2000服务器版中进行设置。 ASP的同志们,能不能留一下QQ号码? 请问何处有破解ACCESS2000的程序或源代码呢? 请问要在TEdit.text组件文本串中找出当前光标在第几个字符上怎么办?谢谢! 请问关于dbImage控件的使用方法? 关于HDC及双缓冲的问题? xxxbird(*说你行,你就行,不行也行*),来领“我遇到几个怪问题。。。。。。”中的分 为什么ASP没法向SQL Server中写入数据?代码什么地方错了 大家帮忙找一下,找到我给50分 exe 捆绑机怎么做? 大家谈谈JSP的设计模式怎末了?我有个题目,设计好的大大有奖! 浏览器下的那个进度条是怎么弄出来的? C中的typedef struct和C++中的 struct有何区别? C中的typedef struct和C++中的 struct有 什么区别?谢谢 lastlove(本栏位广告招商中,欢迎投放!),jjdelphi(我真的不懂),jinesc(杂牌军)-(人民军队为人民) 开利息了 一个网页的原代码可以保存到字符串里吗? 有没有各种C++编译器都支持的字符串类型或字符串类? <@> 关于 ProcessMessages 一个想不如大家想,请各位帮忙想个主页的名字吧。 女友23岁,她会选择前途还是爱情?-----一个VB程序员的痛苦 如何实现应用程序与动态库通信??? ----myxfang----偶来贷款了!!!--- myxfang(大富翁银行~业务员~~),都给你了,我可把赌注都压到你身上了 我存钱,没人受理吗?银行业务员在哪? CMainFrame主框架是用来干什么的? 一个圆的半径增加3厘米,直径增加________厘米,周长增加________厘米 如右下图,已知三角形ABC面积是12平方厘米,求阴影部分的面积还有,我是小学生,麻烦写能看得懂的, 如图所示(单位:厘米),图形中阴影部分的面积是多少平方厘米?正方形的宽是2厘米请在2013年12月15日20:30之前尽快回答 2.一个圆的半径增加2厘米,它的周长增加()厘米,面积增加()平方厘米.3.大小两个圆的半径比是2:3,面积差是30平方厘米,求两个圆的面积各是多少?4.已知一个圆的面积是62.8平方厘米,求跟它 如图,三角形abc面积是70平方厘米,BD=CD=6厘米,角C=45°.阴影部分面积多少? 阴影部分图形的面积是40平方厘米,大圆面积比小圆面积大多少平方厘米?(说明理由) 一个圆的半径扩大3倍,周长扩大几倍,面积扩大几倍 回答马上采纳 图中三角形ABC的面积是36平方厘米,AC长8厘米,DE长3厘米.求阴影部分的面积(ADFC不是正方形) 求下面图形阴影部分面积.单位:厘米画的不好,请见谅 一个圆的半径扩大几倍,直径就扩大几倍,周长就扩大几倍,面积就扩大几倍这类题目该怎么做?明天我就要期末考了,有没有什么公式? 图中ABC的面积是36平方厘米,AC长8厘米,DE长3厘米,求阴影部分的面积(ADFC不是正方形) 求下面各图形阴影部分的面积.单位厘米. 图中梯形的上底是18厘米,高是15厘米,阴影部分面积是54平方厘米,求梯形的面积 如图,扇形AOB的圆心角为60°,半径为6cm,C,D分别是的三等分点,则阴影部分的面积是 . 图形面积 如图,已知线段DE与AC平行,且与圆的半径相等都等于3厘米,O为圆的圆心.求图中阴影部分的面积.连接DO,EO,因为DE‖AC,根据三角形同底等高,面积相等的性质,即得S△DAE=S△DOE,因此阴 2、如图,梯形ABCD的上底长5厘米,下底长8厘米,已知三角形ABE的面积是24平方厘米,求梯形的面积.阴影部分是棕色的。 图中扇形半径都是4cm,阴影部分面积是多少? 两个半径相等的圆相交,两个圆心间的距离正好等于半径,半径等于10厘米,求阴影部分的面积. 如图,梯形ABCD的上底长5厘米,下底长8厘米,已知三角形ABE的面积是24平方厘米,求阴影部分的面积.写出全过程. 图中的扇形半径都是4厘米,求阴影部分面积? 3.一块草地的形状如下图的阴影部分,它的周长和面积各是多少? 如下图,在一个梯形内有两个三角形分别是4平方厘米和6平方厘米,梯形下底的长是上底的2倍,求阴影部分面积?不能上传图就是在那个梯形中任取一点连接四个角上面那个三角形是4平方厘米下 一个圆心角为45度半径为2的扇形和一个等腰直角三角形组成的图形,那么图中的阴影部分面积是多少 一种螺丝的垫子如右图阴影部分,外圆半径2厘米,内圆半径1.5厘米 在如图所示的长方形abcd中,△abd的面积比△bcd的面积大10平方厘米,ab=8厘米,cd=3厘米,求阴影部分的面积急! 圆P与扇形OAB的半径OA、OB分别交于C、D,与弧AB相交于点E,已知OA=15,角AOB=60度,求图中阴影部分的面积圆P在扇形里面,求扇形减去圆形的面积,圆P于弧AB相交 如图,园O的半径是5cm,求阴影部分的面积是多少?O和P是两个圆心,画的不是很好,圆形是顶着长方形的,要求的阴影部分是长方形的四个角 已知阴影部分的面积为24平方厘米,求梯形的面积. 如图,这个扇形的圆心角是90度,面积是31.4平方分米,求阴影部分的面积 一个环形零件,内圆半径是5cm,外圆半径是8cm,这个零件的阴影部分的面积是多少? 六上数学题求阴影部分的面积(空白部分面积为80平方厘米),高是8厘米 如图,这个扇形的圆心角是90度,面积是31.4dm²,求阴影部分的面积 如图,圆A 圆B 圆C 两两不相交且半径都是0.5cm 求图中三个扇形(阴影部分)面积之和 已知梯形上底6厘米,下底8厘米,阴影面积24平方厘米,求梯形面积(需要提供计算方式) 如图,已知扇形OAB的圆心角为90度,分别以OA.OB为直径在扇形内作半圆,P和Q分别表示两个阴影部分的面积,那么P和Q的大小关系是( )A. P=Q B.P>Q C.P画不了图啊,我再试试! 如图,已知阴影部分面积是5cm平方,求圆环的面积. 下面图中三角形ABC的高是6cm,面积是36平方厘米,求阴影部分的面积,······ 如图:ABCD是正方形,扇形半径是60毫米,求阴影部分面积.我知道答案是3600π/4 - 60 x 30 = 900π - 1800为什么这么做啊?扇形里的正方形面积如何求出来的啊? 已知:如图,三个圆的半径都是5cm,求阴影部分的面积是多少平方厘米?(三个都是一样的园)求写出详细过程 为什么这样做 两条对角线把梯形ABCD分割成四个三角形,如图所示,已知两个三角形的面积,求另两个三角形的面积各是多少已知三角形BOC等于12 三角形AOB等于6 如图,四边形ABCD是菱形,角A=60度,AB=2,扇形BEF的半径为2,圆心角为60度,则图中阴影部分的面积是——三分之二π-根号三 为什么? 下图中阴影部分的面积为5cm².求环形的面积.底下还有个图,大虾们快来ooo! 一个圆的半径是2厘米,那么它的面积和周长相等这道题对还是错 如下图,BCEF是平行四边形,三角形ABC是直角三角形,BC长8厘米,AC长7厘米,阴影部分的面积比三角形ADG的面积大12平方厘米,求GC的长. 如图,是4个正方形组成的图形,求阴影部分的面积. 一个圆的半径是2厘米,它的周长和面积相等.对还是错. 如下图:四边形BCEF是平行四边形,ABC是直角三角形,BC长8厘米,AC长7厘米,阴影部分的面积比ADH的面积大12平方厘米.求HC的长? 两个正方形组成的1和图形,求图中的阴影面积 当一个圆的半径是几厘米时,他的周长和面积的数值相等 如图,四边形BCEF是平行四边形,三角形ABC是直角三角形,BC长9cm,AC长8cm,阴影部分的面积比三角形ADH的面积大9平方厘米,求HC的长是多少 6张大小不同的正方形纸片拼成的图形,已知最小的正方形面积是1,则图中阴影部分的正方形的面积是多少? 一个圆的半径是5厘米,它的周长=( ),面积=( ) 如右图,已知直角三角形ABC的面积是12平方厘米,求阴影部分的面积 一道图形数学题:下面阴影部分是35cm2,求圆环面积; 一个圆的直径是5厘米半径是()厘米周长是()厘米面积是()厘米 如图,已知三角形abc面积是12平方厘米,求阴影部分面积? 请教理科高材生 以下图形怎样求阴影部分面积(小学四年级数学题)图中涂黑的部分原来是没有东西的,是我后来涂黑的,为了方便教小孩。原来的条件是(一个边长为18的正方形减去中间 一个圆的半径由2厘米增加到了3厘米,那么,它的周长增加了()厘米,面积增加了()% 已知图中三角形ABC的面积为1998平方厘米,是平行四边形DEFC面积的3倍,那么图中阴影部分的面积是多少? 求下面图形的阴影部分面积.(单位:厘米) (图上半径是8cm)半径是8cm,求阴影面积,实在不会做,
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn