转角遇到NoSQL

  【摘要】近年来nosql运动来势汹汹,大有一夜颠覆关系型数据库之势,以Orcale为首的传统关系型数据库厂商面临巨大压力,在如此环境下,传统数据库该如何发展,成为众多厂商思考的问题。nosql的支持者推崇其性能优势,尤其是大数据时代的到来,他们认为nosql技术可以打破关系型数据库的性能瓶颈,给数据库的发展带来革命性的意义。的确,对于关系型数据库,存在一些性能瓶颈,但是大多是由于在数据库设计之初对表和表的关系,索引的建立等等规划不好造成的,所以关系型数据库的性能在我看来是有机会在设计上使其大大提高的,这并不能成为nosql替代sql的必然因素。那么在nosql高速发展的今天,nosql是否会成为未来数据库发展的趋势,文末是否该抛开传统数据库,转投nosql的怀抱呢?   【关键词】nosql  非关系型  数据库   一、nosql的优势   由于web和云应用带来了强烈的可伸缩性,使得nosql一下子从默默无闻走向红红火火,究其原因,有以下几点是明显优于关系型数据库的   (一)可以处理超大量的数据   虽然大多数的nosql数据库都被贴上了不同用途的标签,但都有一个共同点:支持大数据处理,比如Mongodb,其名字就来源于一个形容词humongous(巨大无比的),可见其对大数据处理的决心和信心。Zvents公司以BigTable模式搭建的开源数据库HyperTalbe可以每天在搜索引擎中写入10亿单元的数据。BigTable与MapReduce相结合,可以每天处理多达20PB的数据。种种数据表明,在数据量越来越大的压力下,人们正在寻找新的数据库替代方案,而nosql正是不二选择。   (二)易扩展,是云计算的最佳组合   无论是那一种nosql数据库,都是去掉或者减弱了关系型数据库的关系型特性,使得数据之间无关系,这样就使得nosql伸缩起来要比关系型数据库要自如的多,在架构层面上带来了很好的可扩展性,如果你考虑把一套系统数据整合起来,将庞大的数据伸缩需求交给数据仓库后面的海量服务器处理,那么nosql将是一个很好的替代方案。正是由于nosql良好的可扩展性,使得它和云计算结合在一起如鱼得水,云计算服务提供了相对廉价的数据存储平台,又具有庞大的可扩展能力,用户只需要根据需求用多少就要多少,整个平台的大小几乎可以不受限制。   (三)灵活的数据模型   nosql无需事先为需要存储的数据建立相应字段,随时可以自定义存储数据的格式,这一特点也给应用程序编码提供了方便,关系型数据库模型和应用代码对象模型通常以不同的方式建立起来,这导致了不兼容性,开发人员需要将代码映射到关系模型上以消除这种不兼容性,这个过程会消耗开发大量的时间和精力,nosql灵活的数据模型可以显著减少开发时间。   1.低廉的部署和维护成本   大部分的nosql数据库都是开源软件,没有昂贵的License成本。它们甚至可以部署在便宜的PC服务器集群上,相对于传统数据库的高额硬件成本,两者的开销天差地别。nosql数据库维护简单,例如mongodb,只需下载其二进制程序,几乎不用进行配置便可直接运行,你无需为它专门聘请一位DBA。   二、nosql的未来   nosql看起来很美,那么是否sql未来就再无容身之地了呢?当然不是,nosql目前也有很多缺陷的。   (一)nosql无法保证数据完整性   关系型数据库很容易实现数据完整性,而nosql则很难,连nosql的支持者都不得不承认:nosql无法像sql一下保证数据完整性,这就大大局限了nosql的使用范围,有很多类型的企业需要数据的完整性,比如金融、商务类的,sql很容易实现的完整性在nosql中需要通过代码来实现,这一过程无疑增加了风险,如果代码出现BUG导致完整性缺失,将导致不可估计的后果,在这方面,sql的作用是nosql无法替代的   (二)缺乏技术支持   nosql都是开源的项目,没有特定的供应商提供支持,而数据库又是各个项目中十分重要的一层,一旦数据库出现了问题,往往都是很严重的,这时候如果找不到解决的办法,后果不堪设想。nosql想从实验环境走向生产环境,还需要更加稳定的支持。连nosql项目的组织者Oskarsson也表示,他们自己公司用的也不是nosql数据库,连nosql的组织者都不敢在生产环境使用nosql,其它管理员谁又敢做第一个吃螃蟹的人呢?   (三)接口规范化和互操作问题   不可否认,nosql的数据服务接口有待规范,比如DHT,这是一个简单的接口,但仍旧没有标准的语义。每个DHT服务都使用其自己的一套接口。而对于关系型数据库则有一种强有利的准则,对于所有使用关系型数据库的人都有效,比如一个Oracle使用者经过短暂的学习可以很容易掌握SQL Server,而想学习众多的nosql则要付出更多的精力。另一个大问题是不同的数据结构,如 DHT和binary tree,所有这些服务中,指针没有内在的语义。这些服务中,处理互操作性是开发者的职责,尤其是当需要数据被多个服务访问时。一个简单的例子:后台工作由Java实现,Web服务类工作由PHP实现,数据可以被轻易地从两个域访问数据吗?显然,人们可以使用Web服务作为前端数据访问层,但是,NoSQL有可能让事情变得更复杂,并降低了业务敏捷性,灵活性和性能,同时增加了开发工作量。   三、结语   Nosql的产生和飞速发展绝非偶然,而传统关系型数据库能屹立数十年不倒也有其不可替代的优势,如果说nosql一定可以替代sql,我认为就目前的情况来看,是不可能的,甚至nosql想达到mysql目前的规模就十分困难,nosql的革命还有很长的路要走,未来的状况应该是sql和nosql共同发展的局面,nosql可以成为sql之外一种有效的补充方案。   参考文献:   [1]佚名.MongoDB权威指南(第2版)[J].中国科技信息,2014,(5).   [2]潘凡.从MySQL到MongoDB――视觉中国的NoSQL之路[J].程序员,2010,(6).   [3]陈明.NoSQL数据库系统[J].计算机教育,2013,(11).

  【摘要】近年来nosql运动来势汹汹,大有一夜颠覆关系型数据库之势,以Orcale为首的传统关系型数据库厂商面临巨大压力,在如此环境下,传统数据库该如何发展,成为众多厂商思考的问题。nosql的支持者推崇其性能优势,尤其是大数据时代的到来,他们认为nosql技术可以打破关系型数据库的性能瓶颈,给数据库的发展带来革命性的意义。的确,对于关系型数据库,存在一些性能瓶颈,但是大多是由于在数据库设计之初对表和表的关系,索引的建立等等规划不好造成的,所以关系型数据库的性能在我看来是有机会在设计上使其大大提高的,这并不能成为nosql替代sql的必然因素。那么在nosql高速发展的今天,nosql是否会成为未来数据库发展的趋势,文末是否该抛开传统数据库,转投nosql的怀抱呢?   【关键词】nosql  非关系型  数据库   一、nosql的优势   由于web和云应用带来了强烈的可伸缩性,使得nosql一下子从默默无闻走向红红火火,究其原因,有以下几点是明显优于关系型数据库的   (一)可以处理超大量的数据   虽然大多数的nosql数据库都被贴上了不同用途的标签,但都有一个共同点:支持大数据处理,比如Mongodb,其名字就来源于一个形容词humongous(巨大无比的),可见其对大数据处理的决心和信心。Zvents公司以BigTable模式搭建的开源数据库HyperTalbe可以每天在搜索引擎中写入10亿单元的数据。BigTable与MapReduce相结合,可以每天处理多达20PB的数据。种种数据表明,在数据量越来越大的压力下,人们正在寻找新的数据库替代方案,而nosql正是不二选择。   (二)易扩展,是云计算的最佳组合   无论是那一种nosql数据库,都是去掉或者减弱了关系型数据库的关系型特性,使得数据之间无关系,这样就使得nosql伸缩起来要比关系型数据库要自如的多,在架构层面上带来了很好的可扩展性,如果你考虑把一套系统数据整合起来,将庞大的数据伸缩需求交给数据仓库后面的海量服务器处理,那么nosql将是一个很好的替代方案。正是由于nosql良好的可扩展性,使得它和云计算结合在一起如鱼得水,云计算服务提供了相对廉价的数据存储平台,又具有庞大的可扩展能力,用户只需要根据需求用多少就要多少,整个平台的大小几乎可以不受限制。   (三)灵活的数据模型   nosql无需事先为需要存储的数据建立相应字段,随时可以自定义存储数据的格式,这一特点也给应用程序编码提供了方便,关系型数据库模型和应用代码对象模型通常以不同的方式建立起来,这导致了不兼容性,开发人员需要将代码映射到关系模型上以消除这种不兼容性,这个过程会消耗开发大量的时间和精力,nosql灵活的数据模型可以显著减少开发时间。   1.低廉的部署和维护成本   大部分的nosql数据库都是开源软件,没有昂贵的License成本。它们甚至可以部署在便宜的PC服务器集群上,相对于传统数据库的高额硬件成本,两者的开销天差地别。nosql数据库维护简单,例如mongodb,只需下载其二进制程序,几乎不用进行配置便可直接运行,你无需为它专门聘请一位DBA。   二、nosql的未来   nosql看起来很美,那么是否sql未来就再无容身之地了呢?当然不是,nosql目前也有很多缺陷的。   (一)nosql无法保证数据完整性   关系型数据库很容易实现数据完整性,而nosql则很难,连nosql的支持者都不得不承认:nosql无法像sql一下保证数据完整性,这就大大局限了nosql的使用范围,有很多类型的企业需要数据的完整性,比如金融、商务类的,sql很容易实现的完整性在nosql中需要通过代码来实现,这一过程无疑增加了风险,如果代码出现BUG导致完整性缺失,将导致不可估计的后果,在这方面,sql的作用是nosql无法替代的   (二)缺乏技术支持   nosql都是开源的项目,没有特定的供应商提供支持,而数据库又是各个项目中十分重要的一层,一旦数据库出现了问题,往往都是很严重的,这时候如果找不到解决的办法,后果不堪设想。nosql想从实验环境走向生产环境,还需要更加稳定的支持。连nosql项目的组织者Oskarsson也表示,他们自己公司用的也不是nosql数据库,连nosql的组织者都不敢在生产环境使用nosql,其它管理员谁又敢做第一个吃螃蟹的人呢?   (三)接口规范化和互操作问题   不可否认,nosql的数据服务接口有待规范,比如DHT,这是一个简单的接口,但仍旧没有标准的语义。每个DHT服务都使用其自己的一套接口。而对于关系型数据库则有一种强有利的准则,对于所有使用关系型数据库的人都有效,比如一个Oracle使用者经过短暂的学习可以很容易掌握SQL Server,而想学习众多的nosql则要付出更多的精力。另一个大问题是不同的数据结构,如 DHT和binary tree,所有这些服务中,指针没有内在的语义。这些服务中,处理互操作性是开发者的职责,尤其是当需要数据被多个服务访问时。一个简单的例子:后台工作由Java实现,Web服务类工作由PHP实现,数据可以被轻易地从两个域访问数据吗?显然,人们可以使用Web服务作为前端数据访问层,但是,NoSQL有可能让事情变得更复杂,并降低了业务敏捷性,灵活性和性能,同时增加了开发工作量。   三、结语   Nosql的产生和飞速发展绝非偶然,而传统关系型数据库能屹立数十年不倒也有其不可替代的优势,如果说nosql一定可以替代sql,我认为就目前的情况来看,是不可能的,甚至nosql想达到mysql目前的规模就十分困难,nosql的革命还有很长的路要走,未来的状况应该是sql和nosql共同发展的局面,nosql可以成为sql之外一种有效的补充方案。   参考文献:   [1]佚名.MongoDB权威指南(第2版)[J].中国科技信息,2014,(5).   [2]潘凡.从MySQL到MongoDB――视觉中国的NoSQL之路[J].程序员,2010,(6).   [3]陈明.NoSQL数据库系统[J].计算机教育,2013,(11).


相关内容

  • 海量数据存储基础
  • 海量数据存储基础 原⽂出处:作者:毕建坤 微博平台研发作为微博的底层数据及业务⽀撑部门,已经经历了5年的发展历程.伴随着从数据及业务暴发式增长,我们在海量数据存储⽅⾯遭遇了诸多挑战,与此同时也伴随着丰富经验的积累. 本次新兵训练营,受众在于应届毕业⽣,⽬的在于让新同学系统化并且有针对性的了解平台的核 ...

  • 分布式数据库调研报告
  • 1. Oracle的NoSQL 也许是NoSQL 运动太红火的原因,Oracle 决定开发一款产品,将键/值对拆分在整个节点集上,这样的优势在于提供了一个灵活的事务保护措施,进而可以确保从数据在节点上等待存储开始到通过网络被成功备份结束,都尽在掌握之中. Oracle 的,是在10月4号的甲骨文全球 ...

  • [分布式系统工程实现]CAP理论及系统一致性
  • 作者: Chuanhui | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明 本文链接地址: http://www.nosqlnotes.net/archives/21 印象中CAP理论开始流行是从Amazon Dynamo的论文开始的,Amazon的CTO还在他的博客中介绍了最 ...

  • 云计算时代的数据库研究
  • 数据库原理 云计算时代的数据库研究 摘要:叙述云计算基础知识,比较云计算数据库的优点,介绍云计算时代的数据 库研究. 关键词:云计算:数据库:关键型:NoSQL 数据库 1. 引言 随着云计算时代的到来,各种类型的互联网应用层出不穷,对与此相关的数据模型.分布式架构.数据存储等数据库相关的技术指标也 ...

  • 大数据发展前景
  • 大数据:发展前景分析  一.大数据推动信息产业创新 大数据是指一般的软件工具难以捕捉.管理和分析的大容量数据,一般以"太字节"为单位,大数据之"大",并不仅仅在于"容量之大",更大的意义在于:通过对海量数据的交换.整合和分析,发现新的知识 ...

  • 系统工程师笔试题
  • 系统工程师笔试题 一.选择题(共25道) 1.操作系统在控制和管理进程过程中,涉及到( )这一重要数据结构,这是进程存在的唯一标识. A. FCB B. FIFO C. FDT D. PCB 2.在一个请求页式存储管理中.一个程序的页面走向为4.3.2.1.3.5.4.3.2.1.5,并采用LUR ...

  • 转角遇到谁
  • 街角,人群,电梯,转弯处. 人生的萍水相逢无数,转角你会遇到谁? 不可否认,生命中总会遇到很多人.有些人来来去去,有些人有去无回,有些人有缘千里来相会,亦有些人无缘对面不相识.生命是有时间限制的,在这样一个限制的时空中,无论转了多少道弯,无论遇见了多少人,最终也终免不了曲终人散的伤感. 例如友情:孔 ...

  • 转角遇到爱经典语录
  • 人生最过瘾的就是因为它有很多转角,有的转角很惊险;有的转角又充满惊喜``是惊喜?还是惊险?不走过去,当然就不知道下一个转角你会遇到什么^&^``转角充满了故事~~``不管是在人生旅途上`还是拥挤的街头~~``也许是你的,也许是我的,因此我喜欢转角~~ 我不喜欢转角.如果选择了走这条路,是因为 ...

  • 大数据时代下企业的发展与创新研究
  • 大数据时代下企业的发展与创新研究 [摘 要]企业管理需要与时俱进,与社会的发展相匹配,才能促进企业的发展和增长.随着大数据时代的到来,我国许多企业的经营模式受到了严重影响.大数据给企业管理工作带来了挑战和机遇.企业要实现自身的稳定与发展,也需要对自身的管理模式进行更新,改变决策主体的决策,对内部数据 ...