关系数据模型已经流行了几十年了,但是一种新型的数据库(即NoSQL)正在吸引各大企业的关注.下面是对其优势与劣势的一个简单总结.
在过去的1/4世纪中,关系型数据库(RDBMS)一直是数据库管理系统的主导模型.但是,今天,非关系型,”云,”或者”NoSQL”数据库正以数据库 管理系统的替代模型而获得认知.在本文中,我们将考察这些非关系型NoSQL数据库的10个关键因素:最重要的5个优势以及5个挑战.
可以通过此链接下载本文的PDF格式.
NoSQL的5个优势
1. 弹性扩展
多年来,数据库管理员一直依赖于向上扩展(scale up)-随着数据库负载的增加购买更大的数据库服务器―而不是向外扩展-随着负载的增加将数据库分不到多个不同的主机上.然而,随着每秒事务数与可用性需 求的提高,以及数据库往云或虚拟环境的迁移,向外扩展到廉价硬件的经济优势越来越难以抵挡.
RDBMS或许比较难以在廉价的集群上进行向外扩展,但是,NoSQL数据库的新品从设计之初就是为了利用新节点的优势进行透明扩展,他们通常在设计时就考虑使用低成本的廉价硬件.
2. 大数据量
在过去10年,与每秒事务数的增长超出了认知一样,存储的数据的规模也出现了极大的增长.O’Reilly明智的称此为”数据的工业革命.”RDBMS的 容量也在增长以匹配这些数据的增长,但是,与每秒事务数一样,单个RDBMS可有效管理的数据规模限制让部分企业越来越难以忍受.今天,大规模数据量可以 交由NoSQL系统来处理,比如Hadoop,超过目前最大的RDBMS可以管理的数据规模.
3. 再见了,DBA(回头见,DBA?)
这些年,虽然RDBMS的提供商宣称推出了很多的可管理性方面的改进,高端的RDBMS系统还是只能交由昂贵的、高度受训的DBA来进行维护.高端RDBMS系统从设计到安装以及后续的调优,都需要DBA们深度介入.
从理论上,通常,NoSQL数据库的最初的设计目标就是更少的管理介入:自动修复、数据分布以及更简单的数据模型,从而更少的管理与调优需求.实际上,关于DBA将死的谣言很可能被略微放大了.对于任何关键的数据存储,总是需要有人来关心它的性能以及可用性.
4. 经济性
NoSQL数据库通常使用廉价服务器集群来管理暴增的数据与事务规模,而RDBMS倾向于依赖昂贵的专有服务器与存储系统.其结果是,NoSQL数据库的每GB数据或每秒事务数的成本要远远低于RDBMS,使得你可以以更低的价格来存储与处理更多的数据.
5. 灵活的数据模型
在大量的生产环境数据库中,变更管理是一个非常棘手的问题.哪怕是对数据模型的很小的变更,在RDBMS中也需要进行小心的管理,甚至还需要停机或降低服务级别.
在数据模型的限制这一点上,NoSQL数据库要宽松的多,或者完全不存在. NoSQL的键值存储(Key value Store)与文档数据库(Document Database)允许应用在一个数据单元中存入它想要的任何结构.即使是定义更加严格的基于BigTable的NoSQL数据库,通常也允许创建新的字 段而不致带来麻烦.
其结果是,应用的变更与数据库结构的变更不需要绑定在一个变更单元中进行管理.理论上,这可以提高应用的迭代速度,然而,显然,如果应用无法管理数据的完整性,它将带来不良的副作用.
NoSQL的5个挑战
NoSQL数据库的可能性空间引发了大量的关注,但是,在它们成为企业级应用的主流之前,还有大量的障碍有待克服.下面是几个主要的挑战.
1. 成熟度
RDBMS已经存在了很长一段时间. NoSQL的支持者认为它们的年纪是它们过时的象征,但是,对于大部分CIO(首席信息官)来讲,RDBMS的成熟度是可以让人放心的.通常,RDBMS 系统都很稳定,功能也很丰富.相比而言,大部分NoSQL的替代品都还处于前-生产环境阶段,还有大量的关键特性有待实现.
生活在科技前沿对于大部分开发人员来讲,是令人兴奋的,但是,企业在实施时必须非常谨慎.
2. 支持力度
企业还希望获得保证,当关键系统出现故障时,他们可以获得及时而有效的支持.所有的RDBMS提供商都在竭尽全力地为企业提供高级别的支持.
相比而言,大部分的NoSQL系统都是开源项目,虽然,每一个NoSQL数据库通常都会有一家或多家公司为其提供支持,这些公司通常都是小的创业公司,没有能力提供全球的支持,没有足够的支持资源,或者没有类似于Oracle、Microsoft或者IBM的信用.
3. 分析与商业智能
NoSQL数据库经过不断的演化,已经可以满足现代的Web 2.0应用的扩展需求.相应地,它们的大部分功能集也旨在满足这些应用的需求.然而,应用程序中的数据的价值,要超出一个典型的Web应用的插入-阅读- 更新-删除的周期.从公司数据库中挖掘信息以提高公司的效率与竞争力的业务,以及商业智能(BI)是所有大中型公司的关键议题.
NoSQL数据库提供了新型的工具来做即时的查询与分析.哪怕是一个简单的查询,也需要可观的编程技能,通常使用的BI工具都无法访问NoSQL数据库.
稍显宽慰的是,还有类似于HIVE与PIG的这类解决方案,通过它们可以较为简单地访问Hadoop集群中的数据,或许最终,可以较为简单的访问其他的 NoSQL数据库.Quest软件公司开发一个产品,Toad For Cloud Database,它提供了对各种不同的NoSQL数据库的即时查询功能.
4. 管理
NoSQL的设计目标可能是提供零-管理的解决方案,但是,当前的现实是,此目标远远没有实现.目前的NoSQL系统需要大量的技能来进行安装,以及需要大量的努力来进行维护.
5. 专业技能
坦率的讲,目前世界上有上百万的程序员非常熟悉RDBMS的原理与编程,他们分布在各种业务场景中.相比而言,几乎每一个NoSQL开发人员都还处于学习 阶段.随着时间的流逝,这种状况将得到解决,但是,现在,寻找一个有经验的RDBMS开发人员与RDBMS管理员要比寻找一个NoSQL专家要容易的多.
结论
NoSQL数据库正在成为越来越多的数据库环境的重要的组成部分,如果使用得当的话,它可以提供实实在在的收益.然而,企业在推进它们的使用时需要非常谨慎,需要明白这些数据库的相关内在限制与问题.
关于作者
Guy Harrison是Quest 软件公司的研发部门的总监. 知名的数据库专家,有着20多年的应用与数据库管理、性能调优与软件开发相关经验,Guy是出版了多本关于数据库技术的书籍,发表了大量相关的文章,并经常在技术会议上做演讲.
相关推荐
NoSQL数据库 14信管一班2组23殷月园 NoSQL数据库PPT全文共20页,当前为第1页。 内容大纲 定义 产生 共同特征 分类 适用场景 发展现状 7 挑战 NoSQL数据库PPT全文共20页,当前为第2页。 一.什么是NoSQL数据库? NoSQL...
Nosql数据库论文 Nosql数据库论文的主要内容是介绍Nosql数据库的发展和应用,特别是分布式数据库的重要性和发展前景。文章首先介绍了传统关系型数据库的局限性,然后引入了Nosql数据库的概念和特点,接着介绍了...
1. 数据一致性问题:NoSQL数据库在追求高性能的同时,可能会牺牲部分数据一致性,需要根据具体应用场景权衡。 2. 社区支持和成熟度:相较于历史悠久的SQL数据库,NoSQL数据库的社区支持和工具成熟度还有待提高。 3...
《NoSQL数据库原理与应用案例教程》PPT课件(共9单元)第4章 HBase原理实现.pdf《NoSQL数据库原理与应用案例教程》PPT课件(共9单元)第4章 HBase原理实现.pdf《NoSQL数据库原理与应用案例教程》PPT课件(共9单元)第4章 ...
根据提供的信息,我们可以推断出该文档主要围绕“NoSQL数据库入门”这一主题展开,并且它是一本高清PDF格式的学习指导书籍。尽管文档的部分内容似乎与Linux公社网站介绍有关,但我们的重点将放在提取与NoSQL数据库...
NoSQL数据库技术实战 数据库书籍!
NoSQL数据库技术与应用 NoSQL数据库技术是一种非关系型数据库,适用于大规模、高并发、高灵活性的数据存储和管理。它具有分布式、可扩展、灵活性和高并发等优势。NoSQL数据库技术可以分为四大类:键值存储、图形...
NoSQL数据库技术发展趋势 NoSQL数据库技术发展趋势是当前数据库技术发展的热点。近年来,NoSQL数据库技术获得了高速发展,许多企业和机构都在投入巨资来开发和应用NoSQL数据库技术。阿里云作为中国软件行业的领导者...
【标题】:“NoSQL数据库入门思维导图” 【描述】提到这是一个使用特定软件MindManager打开的资源,包含两张关于数据库的思维导图。这暗示了我们将会探讨的是NoSQL数据库的基础概念以及常见的NoSQL数据库类型。 ...
### NoSQL数据库之Redis数据库管理视频教程 #### NoSQL数据库简介 NoSQL(Not Only SQL)数据库是指非关系型数据库,它们与传统的关系型数据库在数据存储方式上有显著区别。NoSQL数据库通常支持灵活的数据模式,...
nosql数据库的发展和应用研究
综上所述,虽然提供的具体文件内容未能直接反映其内部的知识点,但通过以上对NoSQL数据库的详细介绍,我们已经能够了解到关于NoSQL数据库的一些基本概念、特点及应用场景,这对于初学者来说是一个很好的起点。
NoSQL数据库总结 NoSQL数据库是一种非关系型的数据库,旨在解决传统关系数据库在应付Web 2.0网站,特别是超大规模和高并发的SNS类型的Web 2.0网站中的问题。NoSQL数据库的优点是可以处理超大量的数据,可以运行在...
- **大数据分析**:对于需要处理PB级数据的大数据分析应用,NoSQL数据库提供了高效的数据存储和查询能力。 - **高并发环境**:对于需要支持高并发读写操作的应用,如实时交易系统或在线游戏,NoSQL数据库能够提供...
《大数据挑战与NoSQL数据库技术》共分为三部分。理论篇重点介绍大数据时代下数据处理的基本理论及相关处理技术,并引入NoSQL数据库;系统篇主要介绍了各种类型NoSQL数据库的基本知识;应用篇对国内外几家知名公司在...
NoSQL数据库是一种新型的非关系型数据库,随着大数据时代的到来,NoSQL数据库的应用变得越来越广泛。NoSQL一词最初代表“反SQL”,意在用新型的非关系数据库取代关系数据库,但随着时间的推移,其含义已演变为“不...