我发现许多大数据供应商总是在通过贬低数据仓库来证明自己技术的优越性,我一向很讨厌这种营销方式。他们总是说数据仓库系统过于庞大、价格高昂且不够灵活,而他们的技术则快速、灵活且价格低廉。最后他们会自鸣得意地说:“来买我们的产品吧,我们会帮你摆脱数据仓库的困扰。”
他们总在暗示你,是技术,或者解决方案本身出了问题。
我承认,数据仓库本身也有很多的问题。设计一个数据仓库已经不容易,而要实现一个数据仓库就更加难上加难了。其中一些批评是对的——数据仓库建设周期长、成本高昂且很难修改。但是,这并不是说它没有价值,应该被取代。
业务人员是释放数据仓库价值的关键
本质上来讲,数据仓库并不是一项技术或一个工具而已。它主要是一种以电子方式(如数据)整合组织资源的业务流程,所以它是一个整体,而不是各种组件的松散堆砌。如果没有数据仓库,那么业务主管就只能盲目行事,通过一些错误数据,或者在完全没有数据的情况下作出重要决策。
虽然我们需要用一些技术来实现数据仓库,但是技术并不能等于业务目标,也无法从企业发展的角度看待数据。只有业务人员才能做这些事情。事实上,比起创建技术基础架构,更具挑战性和更耗费时间的工作是让业务人员认可核心业务实体的定义。数据仓库设计不当或性能不佳都不应该归咎于技术或技术人员,问题的根源在于执行主管在创建通用业务数据词典时没有足够的领导力、远见和耐心。
数据仓库系统可以提供整洁的数据
从技术角度来讲,数据仓库只是一个存储数据的知识库,它存储了从组织中重要应用程序和系统收集的整洁、完整和语义统一的数据。我们可以用各种不同的技术和工具来实现一个数据仓库,包括关系数据库、主数据管理中心,甚至是开源大数据处理架构Hadoop等。每一项技术都具有其他技术所不具备的优点,但同时没有任何一种技术能够独立解决问题。不过,问题的关键并不在于技术的好坏。数据仓库实际上是一种抽象,是一些整洁的分析数据的逻辑表现,执行主管将利用这些数据来作出决策。
可是,似乎大数据社区中有许多人主张完全抛弃数据仓库。或许他们的真正意思是指不再使用传统关系型数据库和商务智能工具来存储及查询业务数据。这样没有问题——我们欢迎这样的做法。新技术总是带来一些好处。但是这仍然无法消除我们想要获得整洁、完整和可靠数据的需求。
大数据供应商需要说明的是,他们将如何增加企业洞察力,提供标准报表。很遗憾大多数人都忽略了这个需求,甚至认为这一点在整个大数据规划中无足轻重。
一个分析生态系统的3大支柱
之所以产生贬低数据仓库的声音,我想大数据社区放大了数据仓库本身的作用是原因之一。数据仓库只是一个的成熟分析生态系统中几个资源池之一,它和探索/发现和事件驱动警报系统是并列的(参见图-1)。
简而言之,数据仓库的作用是帮助业务人员监控现有流程和活动,发现一些关键的趋势与异常情况;它基于一个专门用来解决一些已知问题的报表和分析环境。虽然数据仓库也支持一些分析功能,但是它的用途并不是用于解决新问题和意外问题。这属于探索和发现环境的工作——这正是现代大数据运动的特有功能。它能够让有影响力的用户利用新旧数据,执行复杂查询,然后应用机器学习算法,从而产生新的洞察力。同时,警报环境能够处理来自大容量事务或空间里处理系统的事件驱动数据,然后在数据触发预定义规则时给用户或下游系统发出警报。
图1缺少的是技术。正如前面所提到的,我们可以使用各种技术和工具实现数据仓库系统(及其他环境)。具体的选择主要取决于组织的遗留系统、预算和风险容忍力。但是,无论决定使用什么技术,一定要理解它是如何整合在一个设计恰当的分析生态系统中的。
最后,我们不能让大数据支持者诋毁数据仓库。它在任何分析生态系统中都发挥着重要作用。数据仓库是交付企业数据视图和驱动标准报表及分析的运输工具。谁能离开得它呢?