前一段时间,都在和大家讲数据仓库,以最复杂的金融业为例,讲了数据仓库的系统架构、底层布局以及如何更好地应用,甚至还引申了讲到了商业智能(也就是BI),相信大家多多少少都会理解了。
如果把商业智能(BI)比喻成一个房子,那么数据仓库就是它的地基。一句话总结:数据仓库是BI背后的引擎。
数据仓库:
从字面意义上即数据的仓库,是为了把操作型数据集成到统一的环境中,以提供决策型数据访问。数据仓库关注的是解决数据一致性,可信性,集合性.......这些问题,把越来越复杂的业务数据转化成对于业务运营、业务分析来说简单易用的数据形式。
数据仓库的终极目标是让数据应用人员(无论是CEO还是普通分析师)思考怎么使用数据仓库里的这些数据,创造更多的信息与价值;而不是发愁数据在哪里,数据对不对。
BI(商业智能):
BI是分析数据并获取洞察力、从而帮助企业做出决策的一系列方法、技术和软件。相比数据仓库,BI中还包含了数据挖掘,数据可视化,多维分析,标签分类等方面。
拿多维分析举个例子,数据仓库中只是提供了维度化的数据,但是基于某些工具,比如FineBI、Tableau等,可以支持用户在一定范围内任意组合维度与指标,那这就上升到了决策支持的层面而不是“高级数据仓储”层面了,也就是使用了数据仓库的数据,但不是数据仓库的功能。
超市是为了满足顾客一站式购物需求的完整解决方案,包括商品采购、货物运输、货物存储、商品陈列、商品定价、结算等环节。
BI是为了满足客户以信息为主的决策支持需求的全套解决方案,包括数据采集、数据处理(ETL)、数据存储、数据仓库、数据展现、结果解读等环节。
数据库就像是超市的仓储,可能是一个或者多个,也可能是从厂家直接发货(异构数据源);
数据仓库就像货架上的商品陈列,按各种主题,分门别类的把各种商品陈列在不同的货架上(主题库),例如个人护理区(商品类型)、临近保质期区(时间属性)、运动区(使用场景)、结算台小货架(凑单品)等,方便顾客迅速作出购物的决策。
传统BI项目的构建路径决定了其必须依赖数据仓库才能进行数据分析。比如MicroStrategy,SAP BW,微软 Analysis Server, IBM的Cognos,Oracle的OBIEE,这些传统BI工具不具备使数据集成标准化的能力,数据仓库的存在就是帮助他们建立数据治理结构,解决数据冗余、不一致、错误、无法轻松访问等问题。
另一方面,BI对数据仓库的这种依赖其实存在着极大的缺陷。一般来说,数据仓库通常需要花费高经济成本、时间成本从规划到落地,但创造的价值大多数情况比较有限,ROI较低。搭建成功后,数据仓库也仅支持极少数特定类型的分析,如果企业业务出现调整或者需要处理新类型的数据,届时又将重新面临重大的开发工作。
传统意义上最正统的应用模式是,数据仓库DW+商业智能BI, 前者负责后台数据处理,数据集成,按粒度存储;后者负责面向用户数据展现,报表管理。很多人将这前后台统称为BI框架,这一类的BI应用大多也是成本最昂贵的模式,主要是银行/电信等企业率先实施,成熟应用。
而近几年普遍发展起来的一种模式,是基于BI工具或方法开发完整的应用,或者是应用模板。常见的有绩效管理,BSC战略管理,财务分析,渠道分析,行业分析等等,前两个例子算是基于BI应用的产品化,后两个就纯粹是模板化应用了。
基于BI的产品化其实就和传统的软件项目/软件产品就比较接近了,将业务知识固化在系统中,BI更多作为一个数据分析工具,以及可视化报表工具存在。
以往传统的BI模式,数据仓库,到ETL(数据清洗),OLAP分析都是不同的产品,不同的专人负责。假设一个分析报告要改动,涉及到数据层。则要IT部门去改进数据层和业务层,传统BI平台需要一两个月去梳理模型。
现代的BI应用模式,即敏捷BI,建模和OLAP分析都集成到应用里了。无需事先建模,在做报表,拖拽数据字段的时候,就能随机看到分析结果,做到即系分析,且在分析过程中灵活调整分析维度和报表展现,需求变更可以在一天之内响应。
在如今转向服务导向架构(SOA)(*由Gartner提出,以“服务”为基本元素来组建企业IT架构的方式。SOA要解决的主要问题是:快速构建与应用集成,现已成为解决企业业务发展需求与企业IT支持能力之间矛盾的最佳方案。)的技术大背景中,耗费巨大心力进行大规模的数据整合和数据集成操作是否还有必要?构建数仓的收益是否能大于你将付出的成本?
再加上企业数据体量不断提升,业务发展越来越迅速,对快速印证分析决策也提出了更高要求,更多的企业希望能够降低技术设施成本,做到近乎实时地访问操作源数据,在极短的时间内响应用户请求。
企业分析决策架构的未来前景,取决于业务驱动因素以及技术的发展方向。如今企业数据呈指数级增长,对实时分析的需求比以往任何时候都要强烈,鉴于此,如何兼顾快速落地与高可扩展性,有机结合数据仓库来构建企业分析决策架构,仍是摆在众多企业面前的一个巨大难题。
我认为一个好的解决方式是
在数仓尚未搭建或分析思路尚未成型时,直接在BI平台内快速构建分析应用,快速反馈、快速迭代,实现quick win
在分析结果得到业务的印证后,再将数据沉淀和复杂分析逻辑逐步固化到数据仓库或数据平台里面实施,此时BI平台仅担负轻量的数据分析与可视化压力
我们认为,数据分析的本质是为业务发展、商业决策而服务,而不是创建一堆无用的可视化图表。通过以上提到的这种敏捷开发,快速印证,不断沉淀的过程,将能够更大程度上确保企业分析决策架构的方向正确,获得业务端的认同,驱动业务发展,从而产生真正的商业价值。
说说近两年的行业真实情况吧,我自己平时参加了很多的数据行业、大数据分析的行业大会、沙龙,发现一个很明显的变化就是,现在在风口上的大大小小的互联网公司,说自己用大数据的越来越多了,但又数据仓库的公司越来越少了,搞growth hacking的越来越多了,能把自己的企业报表支持做的快速精准的越来越少了。
个人感觉就是,当年那一帮搞维度建模,仓库体系的老家伙没有教出太好的徒弟,另外就是半路改行的elt占据了半壁江山,所以现在很多公司里看见的bi体系中的数据仓库一般都是一大层+“贴源”,能看到数据仓库理论体系的项目越来越少了。