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

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

必须Mark!最佳HTML5应用开发工具推荐 百度技术开放日感悟:看百度如何获取大数据时代的“船票” 谷歌亚马逊微软的烧钱游戏 拉手网CTO官冲:团购网在大数据应用上的探索 究竟谁真正关心比特币,不妨看看基于大数据的百万条推特分析 Firefox 29正式版:高度自定义模式、全新菜单和Australis UI 冼茂源:HBase在垂直搜索业务以及数据存储中的应用! 阿里云计算北京布点 全球第三个云数据中心开放 【走近讲师】友友天宇CEO姚宏宇:与行业结合是私有云厂商的重要出路 万亿移动支付产业的难点和痛点 削减硬件运营成本?亚马逊或自主研发ARM架构芯片 开源框架eMobc:XML开发原生移动应用so easy iOS应用安全开发,你不知道的那些事 市场化API的十个捷径 MongoDB和Cloudera结盟,欲征服大数据市场 红帽收购Inktank,将统一Gluster与Ceph? 那些巨头公司Logo是这么演变来的…… 以史为镜,剖析PaaS大迷局 “心脏出血”还不够?又曝OAuth和OpenID登录漏洞 走近讲师:搜狐于顺治讲述搜狐PaaS云平台实践之路 AppFlood 2014 Q1报告:亚洲和中东市场成为开发者出海首选 华为联合运营商构建能力开放平台 Facebook产品设计主管:揭秘公司如何招聘优秀设计师 【附信息图】美国因软件缺陷导致的十大事件 二十一世纪Windows简史 为什么用户体验和生态系统决定云公司的成败 三星Tizen,路漫漫其修远兮 用户体验是新优势,互联网会受到何种影响? 从GitHub看编程语言流行度 陈沙克:Openstack Horizon Icehouse Blueprint简介 叶琪:Hadoop不是万能的 要明确场景扬长避短 求帮助数组的问题 给分100 紧急求救 在DELPHI里执行ORACLE存储过程出错??? 当按照书名查询时,系统提示没有该索引:no index with 'bookname' field.何故 CorelDram教程碟不能播放怪的问题!! 如何在vb調用SQL存儲過程,并能得到返回的參數值. 哪位大侠帮帮忙呀!! 用CString的Find(LPCTSTR pstr,int nStart),pstr有没有通配符,急!!!!! 一个XP与2000的共享问题 打印问题,请各位提点建议。 DBA的缺省密码---【在线等】 错误:"参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。" 产生原因 免费100m asp 空间 求救,如何打开一个USB设备,CreateFile吗?请具体些 在线求救 谁是最可恨的人? 如何将本页设为只能是 target="_top" 谁有格斗游戏的源码,设计资料! 三人合作共同开发一网站,现需页面设计,有意者留下EMAIL 怎样用C#把窗口菜单和按钮做成象VS.NET中的平面菜单和工具栏上的平面按钮? 为什么在MMC中新建SQLSERVER注册总是出现超时已过期的错误? 這樣定義宏是什么意思:#define LIBCMD(givenfunction) \? ===这样的SQL在ORACLE 怎么执行不了 一个WIN2000与WINXP的共享问题 如何将一个CBitmap存为BMP文件? 在directshow中,如何实现像大部分播放器那样的“快进”功能? 较难问题--IE6不能启用cookie? 如何修改group里的数据排序方式? 如何写动态SQL语句??? 怎样让select元素不能修改? 谁用过微软的tts??? 郁闷......呀,偶MM说接吻觉得恶心!!!! 请教高手,本人想请教通过数值如:12.5转换成UNICODE的问题,急!!!在线等待 我现在的密码不好记,如何更改密码? 请教大侠;RMI问题 ASP+SQL server免 费空间哪里有100分送给你. 有没有人用过Virtual PC这个软件的啊???快救命啊!!!!!正等着用啊!!!! 有谁知道在上海周边有哪些电脑配件的厂家,如机箱.主板.显示器之类的? 关于“汇总数据”的问题 请尽快帮我解决病毒问题 菜鸟6000分依次提问ORACLE问题,第一个:大虾给我个函数里建虚表并插入数据的例子 EJB使用大数据量的问题 怎样用DirectShow写一个RenderFilter & SourceFilter linux下的应用程序,界面语言问题 VSS中的Pin和Unpin有什么用?在什么情况下使用? 一个WINXP与WIN2000的共享问题(急) 我想问一下,能不能用sql sever2000 开发桌面型的mis系统 我想监测某个端口的通信主要是 TCP 端口,不想写网卡过滤驱动,各位有什么高招? java的用户文档在那里下载? 急,大小写和建主键的问题 我学校在选拔人参加济南市一个五子棋编程大赛,请教各位高手! 三洋投影机更换完灯泡为何不亮?三洋投影机更换完灯泡后,显示更换灯泡的指示灯(橙色)为什么还是一下一下的闪烁,机子也不亮,灯泡没有问题,试过可能亮的,机子是PLC-XT3500C, 俚语有种类吗 3m投影机上的lamp红灯闪是什么意思? 急,我们家的投影机灯泡突然不亮了,怎么回事啊,是不是灯泡坏了啊?三洋投影机 简述热力学三大定律(第一,第二,第三定律)的建立过程 水池如何保持清澈 一种青蛙,眼睛会喷射红色的液体 英语俚语的种类有多少种? 怎样鱼缸保持水清澈缸是1230L× 475W× 320Hmm 的 裸缸 养了26条红鹦鹉 两条银龙 有一个上过滤放的是绵 还有个外置过滤(最后一层放绵 上两层放环)每天喂上一勺食 不怎么开灯 水为什么总是 梦到红青蛙梦到自己和朋友站在水塘边上 丹水塘里都是泥 那些青蛙就在泥下边 之后就蹦上来了 开始看是大青蛙 侯来就变红的了 我很害怕可以根据我这个梦帮我解答吗? 乙烷中,其一氯代物有2种,则它的结构简式为:丙烷的二氯代物有____种,其结构简式分别为: 铜跟足量的浓硫酸在加热条件下反应,仔细观察铜片表面有什么颜色物质声称? 手被红青蛙尿喷到手了下午上课时在教室后面跳出来了一只红色青蛙,大脚的.然后我就被它的尿喷到手了,要是弄到眼睛我就要瞎掉了!不知道那是什么青蛙, 氧化铝球磨前烘料有什么作用 往前一步莫猴急,四平八稳五临门是什么意思 为什么莫尔法测定NaCl时要使用铬酸钾作指示剂? 【求助】氧化铝纯度分析应该用哪种检测? 意思“四平八稳”可用哪个阿拍数字表示? 这只青蛙是什么品种?在田地里抓的青蛙.也有癞蛤蟆. 小时候他们说 抓癞蛤蟆身上长赖.吓得我都不敢抓?刚才抓了3只青蛙有一只不知道是什么品种 谁知道能告诉我啊? 关于矾土、萤石化验方法有谁知道?谢谢帮忙!谢谢了,大神帮忙啊关于矾土、萤石的化学检验方法有谁知道?谢谢! What does\"cn\" onthe Internet stand for? 请问这个青蛙是什么品种这是爸爸给我从朋友那里要的小青蛙,因为我喜欢动物,但是我从来没见过这样的青蛙,不知道它们吃什么,还有应该注意什么比如水的清洁度,多长时间换一次水,它们怕 乙烯通过加成生成二氯代物需要几mol氯气?乙烷通过取代生成二氯代物需要几mol氯气?为什么?为什么取代的是2mol?不是两个Cl原子才算是1MOL氯气吗 拼音都有什么分类(把那类里的拼音写出来) 形容心地纯洁,像水一样清澈的是什么词 聚酰胺的海关编码是什么,就是指BOPA薄膜. 遗传信息的载体是染色体吗? 什么是形容人心像明净的水一样纯洁? 五大强酸有哪些? 白炽灯的灯丝断后再搭接在一起比原来亮的原因快 形容心地纯洁,像清澈的水一般 是什么词语? 青蛙有多少种类 某工人师傅将10g铁的合金置于氧气流中充分灼烧,产生的气体通入足量的石灰石中,得到3g白色沉淀.求次铁合金中碳元素的质量分数? 哪有海水养虾的基本知识?3Q我哥哥想在青岛营海养虾,对养虾知识一点都不懂.请问谁知道哪有海水养虾和淡水养虾的基本知识,入门级,最好是全套的,包括注意事项等等. 五大强酸都是什么? 取10g某铁的合金放在足量的氧气中燃烧,将生成的气体通入足量的澄清石灰水中假设生成的气体全部被吸收,得到0.42g白色沉淀,求这种合金是生铁还是钢? 海水浓度高养虾好吃吗 青蛙的种类叫什么 夏季高温天气 水产养殖户如何有效调节池塘水质 _______:不分明,不清楚._______:形容心地纯洁,像清澈的水一般._______:_______:不分明,不清楚._______:形容心地纯洁,像清澈的水一般._______:(神志或视觉)模糊不清.蹭财富值的滚蛋→_→! 云图视讯投影仪lamp灯亮代表什么意思? 目的基因进入受体细胞为何不表达?它有没有可能破坏运载体的基因?有基因了却不能表达形状这为啥?不是公用一套密码字表吗? 均一、稳定的液体都是溶液.什么是液体但不是溶液. 青蛙的种类 聚维酮碘消毒对养鱼池塘的水质的影响请问淡水池塘养鱼使用聚维酮碘对水质的影响 验证铜铁铝的活动顺序,应用哪种溶液 青蛙有些什么种类啊. 减数分裂,染色体数及染色单体数变化.是不是这样. 进口梯度PCR仪哪里买? O18是O16的同位素 那么O16是O18的同位素吗 1.求2mol/LMgCl2溶液中c(Mg2+)-------,c(l-)-------2.将4g氢氧化钠溶于1L水中,所得溶液的物质的量浓度是否为0.1mol/L?3.从100ml 2mol/L H2SO4溶液中取出10ml,那么取出的溶液中溶质的物质的量浓度是------- 如何提高气相色谱的分离度 热力学里,能用n和2个变量来描述整个系统的前提是什么?如题,请问在什么情况下能仅用n和2变量来描述整个系统(即其他变量都可由其导出) 减数分裂,染色体及染色单体数目变化.是不是这样,画的不怎么好. jesusxxxDJscocolastjanhavebeforemm DDRms,Gus翻译 珊瑚礁海岸有哪几种类型?它们之间有何种成生联系? 7.将15ml.2mol•.溶液逐滴加入到40 ml.0.5mol•.盐溶液中,恰好将溶液中的离子完全沉淀为碳酸盐,则中n值是【解析】M的化合价为+n,Na2CO3与MCln反应对应的关系式为:2Mn+ ~ nCO32 - 提高气相色谱分离度的方法有哪些? 公路实验中,最大干密度指的是什么 What does "cn" on the Internet stand for?用英语回答出更好,谢谢~.~!各位,谢谢了不过, “cn”在网络上代表什么? on the Internet on the Internet on the Internet on the Internet on the Interne on the Internet 日养老金机构局长携公款藏匿泰国 遭情大众成德国薪酬差距最大公司 高管薪酬英国艺术家用83幅自画像拼成《蒙娜丽一驻日美军士兵酒后驾车与出租车相撞被日本官房副长官:将继续摸索日韩首脑会日警视厅拟加强对骑自行车肇事者处罚力印度民众燃放爆竹庆祝排灯节 引发环境俄罗斯惊现一专杀老年女性杀人狂 两年德国1500幅被纳粹搜刮名画被估值高奥巴马被指政治光环不再 支持率与声望泰国看好高端中国游客 旅游业增聘通晓美国务卿克里访埃及 美官员称或恢复对美一贸易中心发生枪击事件 造成至少2俄罗斯大胆盗贼偷警察大楼 部分武器及日本超过6成企业雇佣员工工作至65岁一中国游客在美塞班岛溺亡 尸体漂浮于澳前奥运选手在扫毒行动中被捕 拒不承美国寿星跳伞庆百岁生日 从3900米澳大利亚3岁男童爬出车外 被继母无意英国艺术家用83幅自画像拼成《蒙娜丽法一出租司机家中藏武器30余支 称是大五联赛半决赛结束 北体大与湖北大学人民日报官微评苏荣被查:班子出了事“克罗地亚场外完成复仇 球迷偷亲巴西女中央巡视组曾批评江西一绿化工程 苏荣去年全国能源消费总量37.5亿吨 能兰州仨姐妹六载献血50次 节日里的特越南在华毕业留学生:希望成为越中文化驻京部队参加无偿献血宣传活动 官兵踊王梦恕:“南水北调”后期维护费将达工阿富汗总统选举第2轮投票结束 初步结天气炎热游泳事故多发 广西融安一女生马英九体检:身体健康 心肺功能尤其好贵州画家义卖作品筹资资助贵州学子赴美浙江警方摧毁跨省贩毒团伙 成功抓获涉第17届上海国际电影节开幕妮可·基德桑巴和美女、足球和啤酒 快来参加龙虎华少空降银川谈最新季好声音沈阳“九一八”历史博物馆获赠千米长抗两岸青年共话中国梦“交心”才能在竞争悉尼开辟骑行专用道 鼓励市民骑自行车贵州45名视障学生参加特殊“高考”
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘