转角遇到NoSQL_第1页
转角遇到NoSQL_第2页
转角遇到NoSQL_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、转角遇到NoSQL 转角遇到NoSQL 【摘要】近年来nosql运动来势汹汹,大有一夜颠覆关系型数据库之势,以Orcale为首的传统关系型数据库厂商面临巨大压力,在如此环境下,传统数据库该如何开展,成为众多厂商思考的问题。nosql的支持者推崇其性能优势,尤其是大数据时代的到来,他们认为nosql技术可以打破关系型数据库的性能瓶颈,给数据库的开展带来革命性的意义。确实,对于关系型数据库,存在一些性能瓶颈,但是大多是由于在数据库设计之初对表和表的关系,索引的建立等等规划不好造成的,所以关系型数据库的性能在我看来是有时机在设计上使其大大提高的,这并不能成为nosql替代sql的必然因素。那么在no

2、sql高速开展的今天,nosql是否会成为未来数据库开展的趋势,文末是否该抛开传统数据库,转投nosql的怀抱呢? 【关键词】nosql 非关系型 数据库 一、nosql的优势 由于web和云应用带来了强烈的可伸缩性,使得nosql一下子从默默无闻走向红红火火,究其原因,有以下几点是明显优于关系型数据库的 可以处理超大量的数据 虽然大多数的nosql数据库都被贴上了不同用途的标签,但都有一个共同点:支持大数据处理,比方Mongodb,其名字就来源于一个形容词humongous,可见其对大数据处理的决心和信心。Zvents公司以BigTable模式搭建的开源数据库HyperTalbe可以每天在搜

3、索引擎中写入10亿单元的数据。BigTable与MapReduce相结合,可以每天处理多达20PB的数据。种种数据说明,在数据量越来越大的压力下,人们正在寻找新的数据库替代方案,而nosql正是不二选择。 易扩展,是云计算的最正确组合 无论是那一种nosql数据库,都是去掉或者减弱了关系型数据库的关系型特性,使得数据之间无关系,这样就使得nosql伸缩起来要比关系型数据库要自如的多,在架构层面上带来了很好的可扩展性,如果你考虑把一套系统数据整合起来,将庞大的数据伸缩需求交给数据仓库后面的海量效劳器处理,那么nosql将是一个很好的替代方案。正是由于nosql良好的可扩展性,使得它和云计算结合在

4、一起如鱼得水,云计算效劳提供了相对廉价的数据存储平台,又具有庞大的可扩展能力,用户只需要根据需求用多少就要多少,整个平台的大小几乎可以不受限制。 灵活的数据模型 nosql无需事先为需要存储的数据建立相应字段,随时可以自定义存储数据的格式,这一特点也给应用程序编码提供了方便,关系型数据库模型和应用代码对象模型通常以不同的方式建立起来,这导致了不兼容性,开发人员需要将代码映射到关系模型上以消除这种不兼容性,这个过程会消耗开发大量的时间和精力,nosql灵活的数据模型可以显著减少开发时间。 1.低廉的部署和维护本钱 大局部的nosql数据库都是开源软件,没有昂贵的License本钱。它们甚至可以部

5、署在廉价的PC效劳器集群上,相对于传统数据库的高额硬件本钱,两者的开销天差地别。nosql数据库维护简单,例如mongodb,只需下载其二进制程序,几乎不用进行配置便可直接运行,你无需为它专门聘请一位DBA。 二、nosql的未来 nosql看起来很美,那么是否sql未来就再无容身之地了呢?当然不是,nosql目前也有很多缺陷的。 nosql无法保证数据完整性 关系型数据库很容易实现数据完整性,而nosql那么很难,连nosql的支持者都不得不成认:nosql无法像sql一下保证数据完整性,这就大大局限了nosql的使用范围,有很多类型的企业需要数据的完整性,比方金融、商务类的,sql很容易实

6、现的完整性在nosql中需要通过代码来实现,这一过程无疑增加了风险,如果代码出现BUG导致完整性缺失,将导致不可估计的后果,在这方面,sql的作用是nosql无法替代的 缺乏技术支持 nosql都是开源的工程,没有特定的供给商提供支持,而数据库又是各个工程中十分重要的一层,一旦数据库出现了问题,往往都是很严重的,这时候如果找不到解决的方法,后果不堪设想。nosql想从实验环境走向生产环境,还需要更加稳定的支持。连nosql工程的组织者Oskarsson也表示,他们自己公司用的也不是nosql数据库,连nosql的组织者都不敢在生产环境使用nosql,其它管理员谁又敢做第一个吃螃蟹的人呢? 接口

7、标准化和互操作问题 不可否认,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. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论