关于 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 数据库的时候应当时刻注意相关法律问题。
关于 NoSQL 数据库你应该了解的 10 件事的更多相关文章
- 关于NoSQL数据库你应该知道的10件事
关系数据库模型已经流行了几十年了,但是一种新类型的数据库——被称为NoSQL,正在引起企业的注意.下面是关于它的优势和劣势的一个概述.二十多年以来,对数据库管理来说,关系数据库(RDBMS)模型一直是 ...
- 转:你需要知道的NoSQL数据库10件事
你需要知道的NoSQL数据库10件事 NoSQL的5个优势 1.弹性扩展 多年来,数据库管理员一直依赖于向上扩展(scale up)-随着数据库负载的增加购买更大的数据库服务器―而不是向外扩展-随着负 ...
- 在 PHP 7 中不要做的 10 件事
在 PHP 7 中不要做的 10 件事 1. 不要使用 mysql_ 函数 这一天终于来了,从此你不仅仅“不应该”使用mysql_函数.PHP 7 已经把它们从核心中全部移除了,也就是说你需要迁移到好 ...
- 【转载】在IT界取得成功应该知道的10件事
在IT界取得成功应该知道的10件事 2011-08-11 13:31:30 分类: 项目管理 导读:前面大多数文章都是Jack Wallen写的,这是他的新作,看来要成为NB程序员还要不停的自我总结 ...
- 亲身体验:digitalocean vps能做的10件事
我写过一篇亲身体验:digitalocean和linode评测哪个好,帮助不少网友选购价格便宜性能优异的免备案vps,相信大家对两家产品有所了解.vps的性能和用途远远超过传统的虚拟主机,你拥有独立I ...
- 使用Office 365前,企业必须要知道的10件事
目前的市场上充斥着很多关于微软Office 365的炒作,相信厂商.客户或者企业的都有自己不同的考虑.Office 365是微软云版本的Office,用户可以通过互联网创建一个帐户,付款.下载应用安装 ...
- (转)IE6 死后即将大快人心的10件事
(转)未来五年程序员应当具备的十项技能 W3C CSS 2.1 Specification(Quick Table of Contents) (转)IE6 死后即将大快人心的10件事 2009-04- ...
- (0)开始 Raspberry Pi 项目前需要知道的 10 件事
https://www.digikey.cn/zh/articles/techzone/2017/feb/10-things-to-know-before-starting-a-raspberry-p ...
- 保护嵌入式802.11 Wi-Fi设备时需要考虑的10件事
保护嵌入式802.11 Wi-Fi设备时需要考虑的10件事 10 things to consider when securing an embedded 802.11 Wi-Fi device 随着 ...
随机推荐
- EntityFrameowk6.1 使用enum和低版本的不同
原有项目中使用EF5.0 实体类 public partial class Log : BaseEntity { public Nullable<int> LogLevelId { get ...
- PHP 开发API接口 注册,登录,查询用户资料
服务端 <?php require 'conn.php'; header('Content-Type:text/html;charset=utf-8'); $action = $_GET['ac ...
- Android手机修改Hosts的方法
Android手机是和Google帐号紧密联系的,由于中国的操蛋情况,很多时候Google帐号无法登录,导致Android市场无法使用. 在电脑上我们通过修改Hosts方法可以解决Google帐号的登 ...
- 用java写bp神经网络(三)
孔子曰,吾日三省吾身.我们如果跟程序打交道,除了一日三省吾身外,还要三日一省吾代码.看代码是否可以更简洁,更易懂,更容易扩展,更通用,算法是否可以再优化,结构是否可以再往上抽象.代码在不断的重构过程中 ...
- poj 1273.PIG (最大流)
网络流 关键是建图,思路在代码里 /* 最大流SAP 邻接表 思路:基本源于FF方法,给每个顶点设定层次标号,和允许弧. 优化: 1.当前弧优化(重要). 1.每找到以条增广路回退到断点(常数优化). ...
- 寒假挑战PythonTip(一人一python)总结——算法是程序的灵魂,程序员的心法
2014年2月中旬,我上升到挑战python英雄榜第3名.这是我寒假修炼算法的成果之一.来一下总结吧! Linux的创始人Linus Torvalds在一次演讲中有一段涉及“什么才是优秀程序员 ...
- js常用效果
//创建元素 var txt1="<p style='color:red'>我是由HTML创建的</p>"; // 以 HTML 创建新元素 var txt ...
- 封装cookie组件
var Cookie = { // 读取 get: function(name){ var cookieStr = "; "+document.cookie+"; &qu ...
- QQ弹窗代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- CSS响应式web设计
参考 1. 响应式web设计之CSS3 Media Queries http://www.cnblogs.com/mofish/archive/2012/05/23/2515218.html 2. 用 ...