想要弄清楚“大数据”概念的组织需要做出一个选择,是要采用传统的数据仓库概念和现有的数据仓库架构,还是不熟越来越流行的开源Hadoop分布式处理平台,或者使用这二者的结合。
那些想要从简单的BI报表转向深度数据挖掘与预测分析的企业,第三种选项看上去是最靠谱的。最近采访了Forrester机构的高级数据管理分析师James Kobielus,他向我们分析了企业如何从快速变化的海量数据中获取有价值的洞察力。在本文中,您将了解到如何将现有数据仓库架构的功能发挥到最大,Hadoop的优势与劣势,以及大数据时代中每一个数据仓库厂商的发展等。
我看到了对大数据几个不同的定义,请问Forrester是如何理解时下这一流行概念的?
James Kobielus:大数据事实上是引用极限可扩展分析的概念,“极限可扩展分析”这个词在我看来是人们所说大数据的核心。在某种程度上,是可以用三个V来概括的:Volume,数据量,可以使TB可以是PB甚至更大;Velocity,数据流动速度,实时的获取、转换、查询与访问数据;Variety,数据的种类,包括各种结构化数据、非结构化数据以及半结构化数据。在分析方面,它是指所有能够挖掘并获取意义的数据集。
企业对数据仓库概念应如何理解,才能够搞清大数据的意义?
Kobielus:我认为数据仓库能够通过三种方式来帮助企业处理好数据问题:第一、在一个企业数据仓库中,你按照主题领域来划分组织你的数据,而这些主题领域往往是比较稳定的,很长一段时间内都不会有任何改变,比如数据仓库架构中的OLAP cube,无论是物理上实现还是逻辑上的划分。换句话说,你的客户数据在一个分区里,财务数据在另一个,HR数据在第三个,以此类推。这样做的好处就是有利于你根据数据的关联性来匹配下游的应用和用户。这就是数据仓库数据库管理的核心所在,也是通过数据仓库来处理大数据的最重要的方式。
那么第二种方式是什么?
Kobielus:第二种方式是数据库内分析的概念以及利用数据仓库执行数据剖析、数据清洗以及数据挖掘或者回归分析。换句话说,就是做全套的数据挖掘,但是是在数据仓库内部执行。这能够帮助你处理好数据,因为你使用数据挖掘或者回归分析来从根本上了解数据集模式。然后使用数据库内挖掘(in-database data mining)来填充下游的分析数据集市,数据挖掘和统计模型专业人士可以利用它将复杂的模式实现可视化。举例来说,他们使用那些模式来辨别潜在的大客户,这样可以有限将他们设定为销售的目标。使用数据库内分析以及像MapReduce这样的技术,可以在一个高并发高扩展的数据库架构内将数据挖掘自动化。
数据库内分析目前的应用状况如何?是不是每个企业都会用到它?
Kobielus:虽然不是所有人都会用到数据库内分析技术,但是我们可以看到越来越多的企业已经对它产生了浓厚的兴趣。如果你的数据挖掘规模很大,数据库内分析已经被视为是最佳实践。众所周知,目前大量实际生产中的数据仓库都是面向操作型商业智能的,它们更多的是在生产报表、执行即席查询(ad hoc query)等,很少进行数据挖掘。但随着数据量的增长,数据挖掘的必要性也就凸现出来,而数据库内分析的价值也将体现。利用这一技术的目标就是加速并扩展你的数据挖掘项目,同时根据一组通用的参考数据使所有的挖掘在数据仓库中保持一致。
第三种最佳实践是什么?
Kobielus:第三就是将数据仓库作为数据治理的核心,主数据可以合理地在数据仓库中进行维护。当你的数据仓库作为数据治理与数据清洗的核心时,它能够帮助你搞清楚所有的信息。在整个企业架构中,也许会有成百上千个应用在向数据仓库中添加数据。数据就像洪水一般实时地流动,数据仓库就是其中的枢纽,确保大数据集可靠恰当地用在下游的消费当中。
在大数据蔓延的今天,传统的数据仓库厂商都为客户做了哪些努力?
Kobielus:Teradata、Oracle Exadata、IBM Netezza、HP-Vertica等等都在做大数据。绝大一部分数据仓库厂商能够利用网格或者云架构将他们的产品扩展到PB级别,而且也有绝大一部分能够完成数据库内分析,即在大规模并行数据仓库网格或者云环境中实现。他们还可以在企业数据仓库之内来支持数据转化和数据清洗功能。
从现在大多数的媒体报道来看,处理大数据挑战,Hadoop似乎是最好的办法,您怎么认为?
Kobielus:如果你想要处理好大数据,你需要企业数据仓库和Hadoop的组合来完成。我不同意人们把Hadoop看作是处理大数据问题唯一的救命稻草。其实现在的企业数据仓库基本上已经能够做到Hadoop可以实现的任何功能。Hadoop同传统的企业数据仓库系统相比,优势就是开源,它是免费的,但是需要提醒企业用户不要忽视开源Hadoop的许多无形维护费用。可以说Hadoop是未来五到十年内下一代企业数据仓库发展的最大动力。