WatchStor.com — 领先的中文存储网络媒体 | 51CTO旗下网站

新闻资讯 > 大数据 > 正文
专家谈如何选择最适合业务场景的NoSQL存储系统
作者: flownight 2011-06-01 11:17 【yeeyan】

目前已经有那么多的NoSQL存储系统,多的如同运动饮料的品牌。像Facebook,Twitter,Digg,Amazon,LinkedIn和Google等知名公司也都在开发和使用NoSQL系统来解决海量数据存储问题。作为一个IT系统管理员有时很难比较各种NoSQL系统,它涉及企业的具体情景和计算需求,然后作出正确的决定!

这就是为什么Monitis——第一个托管系统管理员所有功能于一身的网络和系统性能监控服务商,出版一系列博客,提供一个全面的NoSQL技术指南,希望能帮助您做出正确的选择。

我们为什么要关心这些,因为客户越来越多,希望我们就应用什么类型的可扩展性、稳健的数据库技术方面提供专业的意见。接下来我们将对现有流行的NoSQL数据存储系统的研究进行介绍,同时我们也将分析比较几个知名的NoSQL系统... Cassandra,MongoDB,CouchDB的,Redis,Riak,HBase等。

在第一篇文章,我们主要讨论NoSQL技术的重要性。
  
到底什么是NoSQL?
  
一般来说,NoSQL不是关系性数据库,它是设计满足超大规模数据存储需求的分布式存储系统,没有固定的Schema,不支持join操作。传统的关系数据库管理系统通过 “向上扩展“的方式通过更好的硬件设施来提升系统性能。 NoSQL则通过“向外扩展“的方式,这意味着应用更多的普通硬件提高系统负载能力。

NoSQL的是在1998年创造的,很多人认为是SQL的反义词,其实它的真实含义是 “Not Only SQL的“而不是“No SQL”。我们认为这两种技术是可以并存的,各有自己的位置。

RDBMS出了什么问题?  

其实没什么,真的。RDBMS只是有其局限性。考虑下如下的三个问题:  

1. RDBMS中使用基于表的数据标准化方法,这是一个很受限的模型,某些非结构化的数据无法表示。  

2. 他们提供了创建,读取,更新和删除的操作。对于数据库,其实更新不会被允许的,因为他们破坏信息。当数据发生变化,数据库应该只添加另一条记录,并标记删除该记录的前一个值。

3. 数据规范化导致性能的急剧下降。其原因是:规范化需要更多的表,连接等操作,主键、索引,从而需要更多的内部操作。很快数据库开始成长为TB级,于是性能慢下来了。   

四种NoSQL类型:

KV存储的主要思想是一个哈希表,每个item有一个主键和特定的数据值。键/值模型是最简单,最容易实现的。但是,你在查询或更新部分值时是很低效。  

列存储主要是用来储存并处理海量数据的。仍然有主键,但它的值可以指向多个按照column Family组织的列。

文档存储的灵感来自Lotus Notes和类似的键值存储,该模型的文档基本上是其他键/值的集合。半结构化文档存储在这样的JSON格式。文档数据库基本上是键/值变体,每个键可以嵌套其他值。


NoSQL的四种类型 

不同于行列结构化的SQL,灵活的图模型也可以扩展到多台机器。NoSQL的数据库没有像SQL提供一个高层次的声明性查询语言。许多的NoSQL的平台允许对REST风格的数据接口,而其他提供查询API。      

一般来说,最好的使用NoSQL技术的场所其数据模型简单,而且灵活性比严格的控制更重要,其中高性能是必须的,严格的数据一致性则不是必需的,并在很容易的将复杂的值映射到已知的键。 

应用NoSQL的场景例子:

日志/存档:日志挖掘工具是很方便,因为他们可以跨越服务器访问日志,进行关联和分析。

社会计算:目前许多企业透过邮件论坛,博客等为用户提供了社会计算能力。 

外部数据集成:许多公司需要整合业务合作伙伴的数据。即使双方进行多次讨论和谈判,他们几乎还是无法控制企业拥有的数据格式。此外,还有很多情况下这些格式的变化非常频繁- 因为变动是业务合作伙伴的需求。 

订单处理系统:服务请求数量通过不同的渠道流向零售商,银行和保险机构,娱乐服务提供商,物流供应商是巨大的。这些请求要在世界任何地方被抓获,同时保证终端用户的交易过程不受到任何影响和中断。 

企业内容管理服务:内容管理被用在公司不同职能组织之间,比如人力资源或销售。目前的挑战是通过共用的内容管理服务集成不同元数据结构的不同组织。

实时统计分析系统:有时需要用一种工具来跟踪网站的实时性能指标(网页浏览量,独立访问数等),如谷歌分析,可惜它不是实时的。有时建立辅助系统提供基本的实时统计信息是非常有用。其他替代办法,如24 / 7的网络流量监控,也是一个很好的办法去。

在下一系列的文章,Monitis将深入七个流行NoSQL数据库系统,讨论其优点和缺点。请继续关注!

【编辑推荐】

  1. 海量数据管理难题:隐私数据如何处理
  2. EMC CEO乔图斯:云计算和海量数据趋势不可挡
  3. EMC称雄存储市场 进军云计算和海量数据
  4. 产品升级功能提升 IBM简化用户管理海量数据复杂度
  5. 调动海量数据每根神经

标签:大数据 混合云 数据保护 云存储 服务器虚拟化 

LecVideo
论坛与活动