关于 NoSQL 数据库你应该了解的 10 件事

四分之一个世纪以来,关系型数据库(RDBMS)一直是主流数据库模型。但是现在非关系型数据库,“云”或者“NoSQL”数据库,正在作为一种替代数据库模型获得越来越多的占有率。本文中我们将关注非关系型 NoSQL 数据库的 10 个关键特征:排在前 5 位的优点和前 5 位的挑战。

提示:点击链接可以下载本文 英文版PDF

NoSQL 的五大有点

1:弹性扩展

多年来,数据库负载需要增加时,数据管理员只能依赖于纵向扩展(scale-up)–买更多更强的服务器,而不是依赖横向扩展(scale-out)–将数据库分布在多台主机上。无论如何,随着交易频率、可用性要求的提高,和数据库向云上和虚拟环境中迁移的需求的提出,基于商业硬件的横向扩展所带来的经济效益已经变得无法拒绝。

相对于 RDBMS 系统不能轻松的在商业集群上进行横向扩展,新生的 NoSQL 数据设计上就是要能够透明的利用新节点进行扩展。NoSQL 数据库的设计通常要考虑利用低成本的商业硬件。

2: 大数据

就像过去二十年中交易率的提高已经超出了人们的想象,被存储的数据的规模也极大的增加了。O’Reilly 聪明的称这种现象为“数据的工业革命”。RDBMS 系统的能力也在提高去适应这种增长,但就像交易率上的限制一样,单个 RDBMS 系统实际能管理的数据规模已经无法满足一些企业的需求。今天,NoSQL 系统,例如 Hadoop,已经能过处理“大数据”级别的数据容量;而这种数据容量远超过最大的 RDBMS 系统的处理能力。

3. 告别DBA(再见?)

尽管这些年 RDBMS 供应商声称有很多易管理性上的提高措施,高级 RDBMS 系统上的维护还是离不开训练有素但昂贵的 DBA 们。 DBA 需要紧密的参与高级 RDBMS 系统的设计、安装和持续的调优。

理论上讲,NoSQL 数据库通常从最基本的设计就要求更少的管理:自动化修复和数据分布、更简单的数据模型带来更少的管理操作和调优需求。实际上,DBA 已死的说法多少有点夸张。总要有人为关键业务数据存储的性能和可用性负责。

4: 经济性

NoSQL 数据库通常使用廉价服务器集群去管理迅猛发展的数据和交易容量,而 RDBMS 倾向依赖昂贵的专业服务器和存储系统。结果就是,NoSQL 系统的每千兆字节成本或者每秒的交易成本要很多倍的低于 RDBMS 系统,这使得你可以非常低的成本去存储和处理更多的数据。

5: 灵活的数据模型

变更管理对于大型 RDBMS 产品是很头疼的。 在 RDBMS 中,即使是微小的数据模型变更也需要非常小心的处理,而且可能要求系统停机或者降低服务级别。

NoSQL 数据库的数据模型限制则轻松的多 — 或者根本就没有。NoSQL 的键值存储和文档数据库允许应用在一个数据元素中存储任何结构的数据。即使是相对严格的基于 BigTable 的 NoSQL 数据库(Cassandra,HBase)通常也允许没有太多限制的创建新列。

结果就是,应用或者数据库模式的改变不需要作为一个复杂的变更单元进行管理。理论上讲,这允许应用可以更快的迭代,当然,很清楚的一点是,如果应用不能保证数据的完整性这可能带来不良的副作用

NoSQL 5 大挑战

NoSQL 数据库的前景很被看好,但是要应用到主流的企业还有许多困难需要克服。这里是几个首先要解决的问题。

1: 完备

RDBMS 系统已经存在很长时间了。而 NoSQL 的拥护者认为存在时间的增长就是它退化的信号。但是对大多数 CIO 来说 RDBMS 是稳定的。多数情况下, RDBMS 系统是稳定且多功能的。相比较而言, 大多数 NoSQL 产品的一些关键组件还有待实现。

大多数的开发者都渴望生活在科技的前沿,但是企业却必须小心谨慎。

2: 支持

企业要保证,如果一个关键系统崩溃,他们能够得到及时的有支持。所有 RDBM 提供商都付出很大的力量用以朝代高水平的企业支持。

相比之下,大部分 NoSQL 系统都是开源项目,尽管每一个 NoSQL 数据库通常都有一家或多家公司提供支持,但这些公司通常是小公司,缺少全球影响力,支持资源和像 Oracle,Microsoft,或者 IBM 一样的信誉。

3: 数据分析和商业智能

为了满足流行的 Web 2.0 应用对可扩展的要求,NoSQL 数据库应运而生。因而,它们的功能集都是顷向于为这些应用服务。但是在 Web 应用增删改查的业务中产生的数据具有商业价值。从这些数据库中挖掘潜在的商业信息提高企业的效率和竞争力以及商业智能(BI)对所有企业来讲都是 IT 所面昨的关键的问题。

NoSQL 数据库缺少即席查询和数据分析工具。即便一个简单的查询都需要专业的编程技能,并且传统的 BI 工具不提供对 NoSQL 的连接。

HIVE 和 PIG 是为解决这个问题而出现的,他们提供了更方便的数据访问方式,可以访问存储在 Hadoop 集群上的数据甚至其他 NoSQL 数据库。Quest Software 已经开发了一个云数据库产品 — Toad — 可以为多种 NoSQL 提供即席查询能力。

4: 管理

NoSQL 的设计目标可能是零管理方案,对现实离这一目标太远。目前 NoSQL 的安装和维护都需要掌握技术。

5. 专业性

熟悉关系数据库概念和编程的开发者遍布全球各领域,但是几乎每一个非关系数据库的开发者都仍然处在学习当中。随着时间推移,这种情况当然会被解决,但是就现在而言,找一个关系数据库的开发人员或者是管理人员,显然更加容易

总结

NoSQL 数据库正在成为数据库领域中越来越重要的组成部分,如果得到正确的使用,它将会带来真正的益处。然而,对于企业来说,使用 NoSQL 数据库的时候应当时刻注意相关法律问题。

时间: 2024-08-24 12:01:10

关于 NoSQL 数据库你应该了解的 10 件事的相关文章

Ubutnu安装后要做的10件事

Ubutnu安装后要做的10件事 安装过很多次的Ubuntu,每次都要进行一系列的系统开发环境的配置工作,如安装jdk,配置java环境变量,安装mysql,wine QQ,安装最新的eclipse,下载一些应用软件等,但是很多博文都很零散,每次都得一个一个的找,感觉特别的麻烦,今天在这里整理一下.注意,干货来了!!! 一.首先更新系统 $ sudo apt-get update && sudo apt-get upgrade 二.安装flash player 1.首先下载flash pl

高效人士睡觉前做的10件事

本文翻译自网站lifehack,原文链接http://www.lifehack.org/articles/productivity/10-things-productive-people-before-bed.html,作者为LUIGI POTENZA,译者为foruok 大部分高效能人士在日常生活中都有一些能帮助他们成功的习惯.他们明白,事业成功的关键在于自己的心理和身体健康,而这又取决于他们的睡前习惯. 这10件事,帮助那些成功人士成为社会上最能赚钱的那20%. 1.他们回顾自己的一天 史蒂

iOS 9:你需要知道的10件事

所有的iPhone用户都在翘首等待最新的iOS发布,iOS 9于昨日正式发布!在这里我们一起来看看有关于iOS 9你必须了解的10件事. 1) Notes 苹果公司的Note应用程序将变得更加先进,其将能够在你的日常生活中作出更大的贡献.新增类别标题.地图.图片,同时URL支持也加入其中.新版本的Note应用程序将为用户提供使用图像注释和创建手写提醒的功能. 2) 地图 用户们可以预计到苹果的地图将会彻底转变.最初,当苹果刚开始推出地图时出现了很多问题,它无法在其推出的初始阶段获得准确的数据.随

使用Office 365前,企业必须要知道的10件事

目前的市场上充斥着很多关于微软Office 365的炒作,相信厂商.客户或者企业的都有自己不同的考虑.Office 365是微软云版本的Office,用户可以通过互联网创建一个帐户,付款.下载应用安装,然后使用,这一过程中不需要使用光盘.如果企业用户认为使用Office 365对于公司来说是正确的一步的话,那么管理者就有必要先了解以下由桌面解决方案顾问Sales Harkins所提出的10件事. 1.什么是云? 云是一个行业术语,指异地文件托管服务.当使用Office 365文件的时候,用户使用

关于Java你可能不知道的10件事

关于Java你可能不知道的10件事 分享到: 24 本文由 ImportNew - Jerry Lee 翻译自 Jooq.欢迎加入翻译小组.转载请参见文章末尾的要求. 呃,你是不是写Java已经有些年头了?还依稀记得这些吧: 那些年,它还叫做Oak:那些年,OO还是个热门话题:那些年,C++同学们觉得Java是没有出路的:那些年,Applet还风头正劲-- 但我打赌下面的这些事中至少有一半你还不知道.这周我们来聊聊这些会让你有些惊讶的Java内部的那些事儿吧. 1. 其实没有受检异常(check

摄影新手最想知道的10件事(转)

摄影新手最想知道的10件事 原文地址 http://www.fsbus.com/danfanrumen/25114.html 作为摄影新手 面对摄影难免有许多疑问 焦距.光圈.景深.快门如何把控? 怎么拍才不跑焦? 如何掌握构图.用光? 一天中最佳拍摄时间是什么时候? 无需上网逐个搜索这些问题 在本篇文章中小编为你整理了 摄影新手最想知道的10件事 简单易懂 赶紧马住 焦距镜头的焦距是什么呢?简单来说,就是一个镜头能拍多远或者多宽.数字越小,焦距越短,视角也就越广,反之,数字越大,焦距越长,视角

当开发者产生一个伟大的想法之后应该做的10件事

当你正和家人享受一个悠闲的午后,一个不错的想法突然出现在你的脑海里.不管它是一个 App 还是服务,或是一个新的概念.只要你把这个想法付诸实践,它就可能会成为下一个 uber,甚至会改变世界. 那接下来你应该怎么做呢?这里有一个指南,会告诉你在决定把自己这个想法实现之后应该做的事情. 1. 起一个名字 在你决定开始之后,要做的第一件事就是为你的产品起一个名字,这个名字是有多重要大家心里都很清楚,如果你并不擅长起名字,你可以通过一些工具来扩展你的思路,如 visual thesaurus, Wer

成为程序员前需要做的10件事

想要成为一名伟大的程序员并不是那么容易的一件事,事实上——没有经历过漫长考验的话,这根本就是妄想.想要成为一名堪称优秀的程序员就已经很需要花时间了,而且过程不可谓不艰难——你会不止一次地想要放弃. 彻底掌握编程最基本的内容粗粗一算就要一到三年.我开始学的是基本的HTML和CSS,这用了我很长一段时间.后来终于这些概念在我脑子里变得清晰起来,而且理解起来也慢慢变得毫无障碍,接着写一些小程序也难不倒我了.总而言之,光靠看书或者看教程视频是成不了程序员的.实践与练习,才是王道. 1 个人学习体会 我们

[转]10年软件开发教会我最重要的10件事

注:除了第一条,其他都非常切合我的自身体会,我认为技术的问题即使复杂,也可以慢慢解决,而决定一个项目成功与否的往往是技术以 外的事情.比如文中(2)提到的情景,好多技术人员学习很努力,工作很辛苦,也很热情的帮助别人,结果却没有取得很好的效果,就是因为什么都干就什么都干 不好.不多说了,请看正文. 0. “面向对象”比你想象的要难得多 也许只有我有这种想法,不过我曾经以为计算机科学课上学过的“面向对象”是很简单的东西.我的意思是,创建一些类来模拟现实世界能有多难啊?其实,那还真是挺难的. 十年之后