大数据管理系统:NoSQL数据库前世今生

文章讲的是大数据管理系统:NoSQL数据库前世今生,NoSQL一词最早出现于1998年,它是Carlo Strozzi开发的一个轻量、开源、不提供SQL功能的关系型数据库(他认为,由于NoSQL悖离传统关系数据库模型,因此,它应该有一个全新的名字,比如“NoREL”或与之类似的名字)。

  2009年,Last.fm的Johan Oskarsson发起了一次关于分布式开源数据库的讨论,来自Rackspace的Eric Evans再次提出了NoSQL的概念,这时的NoSQL主要指非关系型、分布式、不提供ACID的数据库设计模式。

  2009年在亚特兰大举行的“no:sql(east)”讨论会是一个里程碑,其口号是"select fun, profit from real_world where relational=false;"。因此,对NoSQL最普遍的解释是“非关系型的”,强调键值存储和文档数据库的优点,而不是单纯地反对关系型数据库。

  传统关系型数据库在处理数据密集型应用方面显得力不从心,主要表现在灵活性差、扩展性差、性能差等方面。最近出现的一些存储系统摒弃了传统关系型数据库管理系统的设计思想,转而采用不同的解决方案来满足扩展性方面的需求。这些没有固定数据模式并且可以水平扩展的系统现在统称为NoSQL(有些人认为称为NoREL更为合理),这里的NoSQL指的是“Not Only SQL”,即对关系型SQL数据系统的补充。NoSQL系统普遍采用的一些技术有:

  ·简单数据模型。不同于分布式数据库,大多数NoSQL系统采用更加简单的数据模型,这种数据模型中,每个记录拥有唯一的键,而且系统只需支持单记录级别的原子性,不支持外键和跨记录的关系。这种一次操作获取单个记录的约束极大地增强了系统的可扩展性,而且数据操作就可以在单台机器中执行,没有分布式事务的开销。

  ·元数据和应用数据的分离。NoSQL数据管理系统需要维护两种数据:元数据和应用数据。元数据是用于系统管理的,如数据分区到集群中节点和副本的映射数据。应用数据就是用户存储在系统中的商业数据。系统之所以将这两类数据分开是因为它们有着不同的一致性要求。若要系统正常运转,元数据必须是一致且实时的,而应用数据的一致性需求则因应用场合而异。因此,为了达到可扩展性,NoSQL系统在管理两类数据上采用不同的策略。还有一些NoSQL系统没有元数据,它们通过其他方式解决数据和节点的映射问题。

  ·弱一致性。NoSQL系统通过复制应用数据来达到一致性。这种设计使得更新数据时副本同步的开销很大,为了减少这种同步开销,弱一致性模型如最终一致性和时间轴一致性得到广泛应用。

  通过这些技术,NoSQL能够很好地应对海量数据的挑战。相对于关系型数据库,NoSQL数据存储管理系统的主要优势有:

  ·避免不必要的复杂性。关系型数据库提供各种各样的特性和强一致性,但是许多特性只能在某些特定的应用中使用,大部分功能很少被使用。NoSQL系统则提供较少的功能来提高性能。

  ·高吞吐量。一些NoSQL数据系统的吞吐量比传统关系数据管理系统要高很多,如Google使用MapReduce每天可处理20PB存储在Bigtable中的数据。

  ·高水平扩展能力和低端硬件集群。NoSQL数据系统能够很好地进行水平扩展,与关系型数据库集群方法不同,这种扩展不需要很大的代价。而基于低端硬件的设计理念为采用NoSQL数据系统的用户节省了很多硬件上的开销。

  ·避免了昂贵的对象-关系映射。许多NoSQL系统能够存储数据对象,这就避免了数据库中关系模型和程序中对象模型相互转化的代价。

  NoSQL向人们提供了高效便宜的数据管理方案,许多公司不再使用Oracle甚至MySQL,他们借鉴Amzon的Dynamo和Google的Bigtable的主要思想建立自己的海量数据存储管理系统,一些系统也开始开源,如Facebook将其开发的Cassandra捐给了Apache软件基金会。

  虽然NoSQL数据库提供了高扩展性和灵活性,但是它也有自己的缺点,主要有:

  ·数据模型和查询语言没有经过数学验证。SQL这种基于关系代数和关系演算的查询结构有着坚实的数学保证,即使一个结构化的查询本身很复杂,但是它能够获取满足条件的所有数据。由于NoSQL系统都没有使用SQL,而使用的一些模型还未有完善的数学基础。这也是NoSQL系统较为混乱的主要原因之一。

  ·不支持ACID特性。这为NoSQL带来优势的同时也是其缺点,毕竟事务在很多场合下还是需要的,ACID特性使系统在中断的情况下也能够保证在线事务能够准确执行。

  ·功能简单。大多数NoSQL系统提供的功能都比较简单,这就增加了应用层的负担。例如如果在应用层实现ACID特性,那么编写代码的程序员一定极其痛苦。

  ·没有统一的查询模型。NoSQL系统一般提供不同查询模型,这一定程度上增加了开发者的负担。

  作者简介

  陆嘉恒,中国人民大学副教授,新加坡国立大学博士,美国加利福尼亚大学尔湾分校(University of California, Irvine) 博士后。

作者:陆嘉恒

来源:IT168

原文链接:大数据管理系统:NoSQL数据库前世今生

时间: 2024-11-03 14:15:31

大数据管理系统:NoSQL数据库前世今生的相关文章

孟小峰:大数据管理系统的发展与机遇

文章讲的是孟小峰:大数据管理系统的发展与机遇,2016年5月12日-14日,第七届中国数据库技术大会(DTCC 2016)在北京国际会议中心拉开帷幕.作为国内数据库与大数据领域最大规模的技术盛宴,在为期三天的会议中,大会将围绕MySQL.NoSQL.Oracle.缓存技术.云端数据库.智能数据平台.大数据安全.数据治理.大数据和开源.大数据创业.大数据深度学习等领域的前瞻性热点话题与技术展开深入探讨,并邀请一大批国内顶尖的技术专家来进行分享,以满足广大从业人士和行业用户的迫切需要. 本届是大会创

DBA观点分享:大数据对传统数据库的影响

文章讲的是DBA观点分享:大数据对传统数据库的影响,大数据趋势在2012年开始变得明显,Hadoop.NoSQL等技术的兴起,令传统数据库稳固的江山开始动摇."以不变应万变"不再是大数据时代应有的策略,老牌数据库厂商在保持传统市场领先的基础上,不断拓展新市场. 近日,ITPUB论坛以<大数据时代下传统数据库的改变有哪些?http://www.itpub.net/thread-1791263-1-1.html>为题发起讨论,话题围绕传统数据库为了应对大数据时代做出何种改变.传

大数据管理系统:浅析并行数据库优缺点

文章讲的是大数据管理系统:浅析并行数据库优缺点,并行数据库是指那些在无共享的体系结构中进行数据操作的数据库系统.这些系统大部分采用了关系数据模型并且支持SQL语句查询,但为了能够并行执行SQL的查询操作,系统中采用了两个关键技术:关系表的水平划分和SQL查询的分区执行. 水平划分的主要思想就是根据某种策略将关系表中的元组分布到集群中的不同节点上,这些节点上的表结构是一样的,这样就可以对元组并行处理.现有的分区策略有哈希分区.范围分区.循环分区等.例如,哈希分区策略是将表T中的元组分布到n个节点上

南大通用CTO:大数据让国产数据库迎来春天

在Oracle.IBM以及微软等大型厂商的包围圈中,国产数据库厂商还在艰难"求生".这是一个不可否认的事实,数据库市场已经接近饱和,特别是在面对交易的关系型数据库领域,外国厂商起步早.资源丰富,并且还在不断蚕食细分市场,已形成巨大优势.面对这一现状,南大通用CTO武新博士认为,国产数据库厂商已经错过最佳时机,不应该再拿自己的短板(OLTP)去硬碰硬,而应该在OLAP方向发力.同时伴随大数据时代的到来,NoSQL以及NewSQL有了更多的发展空间,基于列式存储的分布式数据库架构也越来越受

武新:大数据时代 行业数据库应用与发展

文章讲的是武新:大数据时代 行业数据库应用与发展,临近年尾,各大媒体评选的网络热词已经新鲜出炉,"DUANG"."城会玩"."内心几乎是崩溃的"等网络用语均榜上有名,而若论如今的技术热词,"大数据"与"云计算"二者毫无疑问将名列榜首.这两个词几乎已经成了互联网时代的"代言人",做个项目推个产品没有它们,你都不好意思自称是IT圈内人.近年,在影响力不断增大的同时,大数据与云计算早已不是互联

大数据与传统数据库是互补关系

文章讲的是大数据与传统数据库是互补关系,在全球大数据生态圈中,Hadoop堪称其中最为核心的技术.     由非营利组织管理的Hadoop平台,尽管推行开源模式,但企业并不是拿来就可以用,它需要经过进一步的加工和修缮,由此孕育了多家大数据商业开发公司,如Cloudera.MapR.Hortonworks等.这些公司的商业模式就是开发商业化的Hadoop分发版,并对外销售.     在这些Hadoop分发版开发公司中,Hortonworks刚刚完成IPO,算是最早的一家,目前市值约10亿美元.而要

非结构化大数据管理系统的设计及其应用案例

非结构化大数据管理系统的设计及其应用案例 北京拓尔思信息技术股份有限公司 李银松 非结构化大数据管理系统的设计及其应用案例

Sybase中国技术总监卢东明:大数据时代的数据库挑战

日前,在Sybase IQ 15.4媒体活动上,CSDN联合几家技术媒体共同采访了Sybase中国技术总监卢东明.卢东明就大数据给传统数据库厂商的冲击.列式和行式数据库的比较.以及其他热点话题分享了看法. Sybase中国技术总监 卢东明 卢东明首先简单介绍了SAP旗下的5大数据库产品: Sybase Adaptive Server Enterprise简称ASE(行式数据库) Sybase IQ(列式数据库) Sybase SQL Anywhere(小型嵌入式数据库) HANA(完全基于内存.

数据库老兵:大数据时代NoSQL不是颠覆性技术

数年前,当人们谈论起新兴的NoSQL数据库技术时,相当一部分观点认为NoSQL在大数据市场取代传统关系型数据库只是个时间问题.如今,这一预言并未兑现,Mitchell Kertzman的总经理Hummer Winblad认为,大多数情况下,NoSQL都没有展现出所谓的革命性. 作为数据库的老兵,以下是Kertzman在本周的视频访谈的一些观点摘录: 人们需要的其实还是SQL 如果云端的SQL数据库有足够的弹性和可扩展性,能处理所需要的数据量,那么人们永远都不会需要NoSQL. 看衰NoSQL的H