转:你需要知道的NoSQL数据库10件事
你需要知道的NoSQL数据库10件事
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的键值存储(Keyvalue 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数据库正在成为越来越多的数据库环境的重要的组成部分,如果使用得当的话,它可以提供实实在在的收益。然而,企业在推进它们的使用时需要非常谨慎,需要明白这些数据库的相关内在限制与问题。
原文链接:http://blog.csdn.net/jakenson/article/details/7060431
转:你需要知道的NoSQL数据库10件事的更多相关文章
- 【转载】在IT界取得成功应该知道的10件事
在IT界取得成功应该知道的10件事 2011-08-11 13:31:30 分类: 项目管理 导读:前面大多数文章都是Jack Wallen写的,这是他的新作,看来要成为NB程序员还要不停的自我总结 ...
- (0)开始 Raspberry Pi 项目前需要知道的 10 件事
https://www.digikey.cn/zh/articles/techzone/2017/feb/10-things-to-know-before-starting-a-raspberry-p ...
- 使用Office 365前,企业必须要知道的10件事
目前的市场上充斥着很多关于微软Office 365的炒作,相信厂商.客户或者企业的都有自己不同的考虑.Office 365是微软云版本的Office,用户可以通过互联网创建一个帐户,付款.下载应用安装 ...
- 在 PHP 7 中不要做的 10 件事
在 PHP 7 中不要做的 10 件事 1. 不要使用 mysql_ 函数 这一天终于来了,从此你不仅仅“不应该”使用mysql_函数.PHP 7 已经把它们从核心中全部移除了,也就是说你需要迁移到好 ...
- 亲身体验:digitalocean vps能做的10件事
我写过一篇亲身体验:digitalocean和linode评测哪个好,帮助不少网友选购价格便宜性能优异的免备案vps,相信大家对两家产品有所了解.vps的性能和用途远远超过传统的虚拟主机,你拥有独立I ...
- (转)IE6 死后即将大快人心的10件事
(转)未来五年程序员应当具备的十项技能 W3C CSS 2.1 Specification(Quick Table of Contents) (转)IE6 死后即将大快人心的10件事 2009-04- ...
- 保护嵌入式802.11 Wi-Fi设备时需要考虑的10件事
保护嵌入式802.11 Wi-Fi设备时需要考虑的10件事 10 things to consider when securing an embedded 802.11 Wi-Fi device 随着 ...
- 关于NoSQL数据库你应该知道的10件事
关系数据库模型已经流行了几十年了,但是一种新类型的数据库——被称为NoSQL,正在引起企业的注意.下面是关于它的优势和劣势的一个概述.二十多年以来,对数据库管理来说,关系数据库(RDBMS)模型一直是 ...
- 关于 NoSQL 数据库你应该了解的 10 件事
四分之一个世纪以来,关系型数据库(RDBMS)一直是主流数据库模型.但是现在非关系型数据库,“云”或者“NoSQL”数据库,正在作为一种替代数据库模型获得越来越多的占有率.本文中我们将关注非关系型 N ...
随机推荐
- AngularJS测试二 jasmine测试路由 控制器 过滤器 事件 服务
测试应用 1.测试路由 我们需要检测路由是否在运作,是否找到了,或者是404了.我们要确认路由事件触发了,预期的模板是否真的加载了.既然路由会改变页面的地址(URL)和页面内容,我们需要检测路由是否被 ...
- C#的dictionary使用总结
Dictionary<string, string>是一个泛型,本身有集合的功能有时候可以把它看成数组. 他的结构是这样的:Dictionary<[key], [value]> ...
- TCP/IP之分层
网络协议通常分不同层次进行开发,每一层分别负责不同的通信功能.一个协议族,比方T C P / I P,是一组不同层次上的多个协议的组合.T C P / I P通常被觉得是一个四层协议系统. 1.每层的 ...
- [yueqian_scut]蓝牙防丢器原理、实现与Android BLE接口编程
本文是对已实现的蓝牙防丢器项目的总结,阐述蓝牙防丢器的原理.实现与Android客户端的蓝牙BLE接口编程.在这里重点关注如何利用BLE接口来进行工程实现,对于BLE的协议.涉及到JNI的BLE接口内 ...
- POJ2250:Compromise(LCS)
Description In a few months the European Currency Union will become a reality. However, to join the ...
- jquery之获取当前时间
/** * * 获取当前时间 */ function p(s) { return s < 10 ? '0' + s: s; } var myDate = new Date(); //获取当前年 ...
- COGS 渡轮问题 (LIS规定字典序输出方案数)
/* 下标字典序最小 */ #include<iostream> #include<cstdio> #include<cstring> #define maxn 1 ...
- ST表poj3264
/* ST表多次查询区间最小值 设 g[j][i] 表示从第 i 个数到第 i + 2 ^ j - 1 个数之间的最小值 类似DP的说 ans[i][j]=min (ans[i][mid],ans ...
- 后台地址报错:Service Unavailable
首先考虑数据库是否打开? 第二重启IIS试试: 重启下iis试试(cmd接着iisreset) 再次访问就正常了,可以借鉴,但不一定就只是这一种原因.
- 关于调用office com组件导出Excel
服务器环境: 环境为win2008 r2,系统为64位,程序是C#的winform.因为需要处理数据,然后生成Excel,耗时太长,就使用了多线程.winform程序是由计划任务启动,每天晚上去跑. ...