技术开发 频道

大数据浪潮袭来 企业该如何选择NoSQL?

  文档数据库

  很多开发人员认为文档数据库可以算是解决问题的灵药,因为这类方案非常适合面向对象型编程。10gen(MongoDB)、Couchbase以及Apache CouchDB等发展迅猛的厂商都将此作为自己的起步平台。来自Couchbase的Frank Weigel指出,该公司正在着手从1.8版本开始将原本的键-值数据库转化为2.0版本下的文档数据库。根据他的说法,“文档数据库属于自然而然的发展趋势。从集群化到数据访问,文档数据库与键-值数据库几乎完全一致;惟一的区别在于,文档数据库能够理解所存储数据中的文档内容。”换句话来说,文档数据库会将值作为JSON、而JSON文档中的元素则能够通过检索轻松进行查询与搜索。

  在此类方案中,最理想的状态就是大家可能已经完成了JSON文档的生成工作。正如10gen公司总裁Max Schireson在采访中所说,如果大家的“数据太过复杂,以至于无法通过关系型数据库进行打理,那么应该考虑尝试文档数据库。举例来说,一套复杂的衍生安全性实例可能很难以关系形式加以保存。电子健康记录同样面临着这样的问题。如果大家考虑利用XML方案,那么我强烈各位使用MongoDB——这种数据库使用的正是JSON/BSON。”

  这可能正是大家在企业运作过程中遇到的实际情况——来自用户、系统、社交网络或者其它来源的数据不断产生并纷至沓来。也许这些数据并不一定都是以报告的形式出现,但MongoDB等方案通常也会包含一定程度的MapReduce功能。至少在MongoDB当中,大家可以对任何内容加以查询,而且即使不借助索引机制也不至于出现我们无法接受的性能问题。

  图形数据库

  图形数据库并不太关注数据规模或者可用性,而主要针对我们的数据之间存在怎样的相关性以及用户需要如何执行计算任务。正如Neo Technologies公司(主要产品为Neo4j数据库)产品工程高级主管Philip Rathle所说,图形数据库的威力主要体现在“数据集在本质上存在关联且非表格形式的情况下。其首要数据访问模式采用事务型机制,即OLTP/记录系统而非批量处理机制……请大家记住,图形数据库允许以事务性方式执行关联性操作,这一点在关系型数据库管理系统领域只能通过批量处理来完成。”

  这种特性在大部分NoSQL营销活动中都得到了反复强调:我们选择图形数据库的主要理由之一,就在于我们需要在自己的数据结构中使用超出关系型数据库能力范围的准确事务型处理方式。

  图形数据库的常见用途包括地理空间计算、推荐引擎、网络/云分析以及生物信息学——基本上,任何重视表达位置之间关系的数据都适合利用图形数据库进行处理。这种技术在各类金融分析体系当中同样扮演着重要角色。如果大家希望了解某家企业的弱点或者“负面消息”,这种直接性关系将成为计算流程中的关键所在。要想通过查询实现同样的效果,我们不仅需要通过大量代码编写SQL查询语句,其执行速度也不会太快。相比之下,图形数据库显然更擅长此类任务。

  如果大家的数据内容比较简单或者已经存在于表格当中,那么实在没必要使用图形数据库。另外,图形数据库也不太适合处理OLAP或者长度分析工作。通常情况下,图形数据库往往与索引机制紧密相连、从而实现更理想的搜索与查找效果,但图形部分必须经过遍历;对于这一点,大家需要在一部分初始节点上加以修正。

NoSQl数据库方案介绍

  概述:如何挑选?

  图形数据库的出现很好地诠释了为何开发人员很难为这些新的数据库类型命名。“NewDB”是我个人最偏爱的名称——当然,某些与关系型数据库管理系统同时代甚至更早的数据库名称也不错。“NoSQL”这个名字就不太好,因为其中或多或少还是支持了一部分SQL功能,而且SQL与这些系统在功能性上也存在着某些交集。

  最后,“大数据”这种描述也并非完全正确,因为我们并不一定要通过大型数据集来充分发挥这类数据库方案的能力——只要它比关系型数据库更适合即可。“非关系型”也不准确,因为图形数据库当中同样蕴含着明确的关系结构;它们只不过遵循着与传统关系型数据库管理系统不同的关系逻辑。

  事实上,这些只是一部分能够解决我们特定难题的特定数据库。过去十年以来,市场营销策略总是喜欢把硬件规格、带宽局限以及更理想的延迟及规模预期作为主要宣传手段,旨在防止某些早期数据库像关系型数据库管理系统那样遭受广泛恶评。

  正如我们不应该尝试利用同一套关系型数据库管理系统解决全部难题,我们同样不应该尝试利用集合论本身解决所有数学问题。如今的数据难题正日趋复杂:可扩展能力、性能表现(即低延迟)以及规模化需求正持续走高。为了满足实际需求,我们需要调整思路、尝试利用多种数据库技术完成不同背景下的具体任务。

  作者Andrew C. Oliver是一位专业cat herder,同时兼任软件咨询顾问。他最广为人知的成就是创立了POI项目,如今该项目已经由Apache接手。他还曾是JBoss早期开发团队的成员之一。 

  更多精彩尽在2014年4月10日-12日在北京五洲皇冠国际酒店举办的第五届中国数据库技术大会,3月25日之前订票可享受8.8折最低票价。

Facebook专家:Hadoop不足以处理大数据
进入官网了解更多详情

1
相关文章