`
xubaoguo
  • 浏览: 79340 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

nosql的优缺点

阅读更多
关系数据模型已经流行了几十年了,但是一种新型的数据库(即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数据库正在成为越来越多的数据库环境的重要的组成部分,如果使用得当的话,它可以提供实实在在的收益。然而,企业在推进它们的使用时需要非常谨慎,需要明白这些数据库的相关内在限制与问题
分享到:
评论

相关推荐

    NoSQL数据库入门 高清PDF

    #### 五、NoSQL数据库的优缺点 **优点**: - **高扩展性和可用性**:能够轻松地横向扩展,支持大数据量的应用。 - **灵活性**:支持灵活的数据模型,易于修改和扩展。 - **高性能**:针对特定场景进行了优化,提供...

    非关系型数据库优缺点.docx

    非关系型数据库优缺点 非关系型数据库是一种NoSQL数据库, Redis是其中的一种,具有高性能、丰富的数据类型、原子性等特点。下面是Redis的优缺点和优化方案: Redis 的优点 1. 支持数据的持久化,可以将内存中的...

    NOSQL实用讲义

    NOSQL的优缺点 优点: - 高扩展性:易于扩展,支持大数据处理。 - 高性能:读写速度快,尤其在高并发环境下。 - 灵活性:适应不同的数据模型和应用场景。 缺点: - 数据一致性:可能牺牲数据的一致性来换取性能。...

    常用开源NoSQL原理与应用.ppt

    在“常用开源NoSQL原理与应用.ppt”中,可能涵盖了以上各类NoSQL数据库的详细介绍、优缺点分析以及实际案例研究。同时,提供的“ITFriend.txt”文件可能包含与讲座相关的补充资料或讨论话题,帮助读者更全面地理解...

    NoSQL数据库入门思维导图

    综上所述,"NoSQL数据库入门思维导图"应包含了NoSQL的基本概念、主要类型、优缺点以及与MySQL的对比,帮助初学者理解并选择合适的数据库技术。通过“基础知识.mmap”可以深入学习NoSQL的原理和操作,而“常见的NoSQL...

    NoSQL精粹 中文版+英文

    通过阅读《NoSQL精粹》中文版和英文版,读者可以深入了解NoSQL数据库的设计理念、优缺点以及如何在实际项目中选择和应用合适的NoSQL解决方案。书中的案例分析和实践经验有助于开发者更好地理解和掌握NoSQL数据库的...

    nosql专业版(英文版)

    综上所述,《Professional NoSQL (2011)》这本书将带领读者全面了解NoSQL的世界,深入探讨各类NoSQL数据库的特性、优缺点以及实际应用,对于希望在大数据时代掌握非关系型数据库技术的IT专业人士来说,是一本不可或...

    NoSQL深入了解,学习文档

    本学习文档将深入探讨NoSQL的原理、类型、优缺点以及实际应用。 一、NoSQL的基本概念 NoSQL数据库摒弃了传统SQL的严格结构化模式,支持动态schema,更适用于互联网应用中数据模型变化快、数据量大、读写频繁的特点...

    nosql&hbase;原理

    标题和描述中提到的关键知识点包括Nosql和HBase的原理,以及HBase的优缺点和适用场景。以下是对这些内容的详细分析和解释。 首先,Nosql(NoSQL,即"Not Only SQL"的缩写)是一种数据存储和管理技术,它提供了一种...

    第19章 非关系型数据库—NoSQL.docx

    Hbase 的优缺点: 优势: 1. 存储容量大,一个表可以容纳上亿行,上百万列 2. 可通过版本进行检索,能搜到所需的历史版本数据 3. 负载高时,可通过简单的添加机器来实现水平切分扩展,跟 Hadoop 的无缝集成保障了...

    第5章-NoSQL数据库.pdf

    NoSQL一词最初代表“反SQL”,意在用新型的非关系数据库取代关系数据库,但随着时间的推移,其含义已演变为“不仅仅是SQL”,表示关系型和非关系型数据库各有优缺点,不能互相替代。 NoSQL数据库具有几个显著特点:...

    NoSQL精粹-带书签目录超清文字版.pdf

    书中可能会详细讨论这些模型的优缺点,以及如何根据业务需求选择合适的NoSQL数据库。NoSQL数据库在扩展性、灵活性和性能方面有显著优势,但也存在数据一致性、事务处理等方面的挑战。作者可能会探讨如何通过设计和...

    SQL、NoSQL、NewSQL 开发者如何应对

    了解它们的特点、优缺点以及适用场景,对于开发者来说至关重要。 首先,SQL(Structured Query Language)是关系型数据库的标准语言,它以其强大的查询能力、事务处理和数据一致性著称。在传统的企业级应用、金融...

    nosql分布式数据库期末考试题.docx

    【描述】:该文档是关于Nosql分布式数据库的一份期末考试试题,涵盖了多种NoSQL数据库的相关知识,包括选择题和填空题,涉及MySQL、MongoDB、Redis、HBase等数据库的特点、优缺点、操作语句以及相关概念。...

    nosql视频教程,包含redis、mongodb等视频资料

    本教程将对比NoSQL与SQL的优缺点,探讨不同场景下选择NoSQL的原因,并通过实际示例展示如何在Web开发、实时分析等领域中应用NoSQL。 【学习资源】 提供的资料“资料.txt”可能包含了视频教程的链接、笔记或相关阅读...

    Professional NoSQL

    12. NoSQL产品选择:书中将讨论如何在多种NoSQL产品中选择合适的解决方案,包括比较它们的优缺点。 13. 性能调优:高级章节将探讨如何调整和优化NoSQL数据库的性能,包括硬件选择、查询优化、索引策略和其他性能...

    山东大学软件学院NoSQL期末试卷(多套)

    综上所述,山东大学软件学院的NoSQL期末试卷涵盖了NoSQL数据库的基本概念、类型、优缺点及其在实际应用中的技巧。通过复习这些试卷和答案,同学们能够系统地了解和掌握NoSQL技术,为未来应对大数据时代的挑战做好...

Global site tag (gtag.js) - Google Analytics