原作者:jiesin.x.liu
谈谈对BI的理解,杜绝“假”“大”“空”的言辞,从BI的定义、基本技术、专业名词、实例应用及扩展等方面进行重新描述,巩固对BI的理解。
一、BI的定义
BI是Business Intelligence的英文缩写,中文解释为商务智能,用来帮助企业更好地利用数据提高决策质量的技术集合,是从大量的数据中钻取信息与知识的过程。简单讲就是业务、数据、数据价值应用的过程。用图解的方式可以理解为下图:
这样不难看出,传统的交易系统完成的是Business到Data的过程,而BI要做的事情是在Data的基础上,让Data产生价值,这个产生价值的过程就是Business Intelligence analyse的过程。
如何实现Business Intelligence analyse的过程,从技术角度来说,是一个复杂的技术集合,它包含ETL、DW、OLAP、DM等多环节,基本过程可用下图描述。
上图流程,简单的说就是把交易系统已经发生过的数据,通过ETL工具抽取到主题明确的数据仓库中,OLAP后生成Cube或报表,透过Portal展现给用户,用户利用这些经过分类(Classification)、聚集(Clustering)、描述和可视化(Description and Visualization)的数据,支持业务决策。
说明:
BI不能产生决策,而是利用BI过程处理后的数据来支持决策。哪么BI所谓的智能到底是什么呢?(理清这个概念,有助于对BI的应用。)BI最终展现给用户的信息就是报表或图视,但它不同于传统的静态报表或图视,它颠覆了传统报表或图视的提供与阅读的方式,产生的数据集合就象玩具“魔方”一样,可以任意快速的旋转组合报表或图视,有力的保障了用户分析数据时操作的简单性、报表或图视直观性及思维的连惯性。
我想这是大家热衷于BI的根本原因。
二、BI的诞生
随着IT技术的进步,传统的业务交易系统有了长足的发展,已经实现了业务信息化,每一笔业务数据都记录在数据库中,星转斗移,累积了以TB为计量单位的业务数据记录。也许你会问:这么多数据,占用了很多存储设备,耗费存储成本,却又不经常访问,留着它有什么用处?可以给你肯定的回答,留着这些历史数据意义巨大,挖掘业务的规律、支持决策。
典型的案例有“尿片和啤酒”的故事, 尿片和啤酒本来是两样不相干的东西,可是,有人就发现,星期五在超市里购物的,购买尿片的年轻父亲中有30%~40%的人同时购买啤酒。原来,星期五年轻的父亲购买尿片时,还会为自己捎带买啤酒,因为,星期五是各家电视台转播橄榄球赛的时间,于是,超市老板们就把尿片和啤酒捆绑销售获得了巨大成功。
这个故事成了一个利用数据挖掘商业价值最大化的神话。 由此看来,非常不关联的两样东西,通过海量的信息数据处理,可以挖掘出它们之间潜在的关联,将这种关联商业化,就会得到意想不到的新业务或新的商业模式。
到底该怎样把这些占据大量存储空间的数据的价值挖掘出来,让这些数据从成本的消耗者变成利润的促进者呢?新的数据分析技术由此诞生了,完成了“数据”到“数据价值”转换的环节,同时给这项技术起了一个响亮而又神密的名字“BI”(Business Intelligence)
三、基本技术
BI(Business Intelligence) 是一种运用了数据仓库、在线分析和数据挖掘等技术来处理和分析数据的崭新技术,目的是为企业决策者提供决策支持。这似乎是BI的官方定义,也是广大BI玩家一成不变的宗旨,哪么BI技术涉及了哪些方面呢?从图(2)中,我们不难看出其核心技术中ETL、DW及OLAP。或者说是“数据处理技术”与“数据展现技术”更加容易理解。
为什么要在操作型数据库和 OLAP 之间加一层“数据仓库”呢?
说一千道一万都计算机资源与效能惹的祸,操作型数据库以快速响应业务为主要目标,而OLAP的时候要占用大量的硬件资源,在OLAP的时候,业务操作很难快速响应,无法保证业务的顺利进行,从业务、数据、数据的价值的逻辑来看,没有业务就谈不上OLAP;零星分散的数据一般存在有多个应用,对应多个业务操作型数据库,访问效能极其低下。综合上述资源与效能的问题,最高效的方法就是将数据先整合到数据仓库中,而 由OLAP应用统一从数据仓库里取数,以解决快速响应业务与OLAP的矛盾。
但是,多了这么一层,不管ROLAP还是MOLAP都无法查看实时数据,这并不影响BI的应用,90%的BI应用都不要求实时性,允许数据有滞后,这是决策支持系统的应用特点,这个滞后区间就是数据抽取工具工作及OLAP的时间。
四、数据处理
(1)ODS,(Operational Data Store)是数据仓库体系结构中的一个可选部分,ODS具备数据仓库的部分特征和OLTP系统的部分特征,它是“面向主题的、集成的、当前或接近当前的、不断变化的”数据。
一般在带有ODS的系统体系结构中,ODS都设计都有如下特点:
1) 在业务系统和数据仓库之间的数据过渡离层。
如果业务数据来源比较复杂,一般采用构造ODS的方法来实现收集当前需要处理的数据。如下述数据来源:
a、业务数据库种类繁多。业务交易系统使用了不同种的数据库,如DB2、Informix、Oracle、SQL server、文本等。
b、不同的应用系统、不同的地理位置。
c、订阅数据源。
d、批量还原非传统数据库数据。
... ...等等。用于存放从业务系统直接抽取出来的数据,这些数据从数据结构、数据之间的逻辑关系上都与业务系统基本保持一致。
2) 保存当前或接近当前的细节数据,以供查询或ETL检错使用。
3) 数据存储周期性。ODS中存储的数据都是临时的,每次ETL之前都要清空ODS中存储的数据。
(2)ETL,(Extract Transform Load)操作型业务数据库(DB)到数据仓库(DW)的过程称之为ETL,它实现数据的抽取,转换及装载工作。
抽取:将数据从各种原始的业务系统中读取出来。
转换:按照预先设计好的规则将抽取得数据进行转换、清洗,以及处理一些冗余、歧义的数据,使本来异构的数据格式能统一起来。
装载:将转换完的数据按计划增量或全部的导入到数据仓库中。
在技术上主要涉及增量、转换、调度和监控等几个方面的处理。
现在列举一个简单的实例,用来说明ETL。
如下表所示,是来自于四个地区的Item销售记录。四个地区依次是
不管使用什么方法或工具,使上述四表的数据结构变成下表所描述的结构,并填充数据,这个过程就是一个ETL的过程。
(3)DW, (Data Warehouse) 数据仓库的官方定义是一个面向主题的(Subject Oriented)、集成的(Integrate)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策。
数据仓库的特点:
1)、面向主题。
2)、集成。
3)、非易失。
4)、时间轴。
数据库与数据仓库的区别如下所述:
(4)OLAP,(On-Line Analytical Processing)即联机分析处理,是 BI的一种全新的数据封装方式,直接产物是报表或Cube,是使分析人员、管理人员或执行人员能够从多角度对信息进行快速、一致、交互地存取,从而获得对数据的更深入了解的一类软件技术。
说到OLAP,不由的想起OLTP(联机事务处理系统),现在来比较一下OLTP与OLAP的区别,如下所述:
太理论化的东西还是少说,来看看数据表中数据是如何在立方体中表示的。
单独察看一个Location的销售数据,使用惯用的2-D平面数据表,完全可以满足所有的需求,如下图所示:
但,要是想从更多的Location的角度去分析数据,可以在2-D的平面数据的基础上增加一个维,来表示Location的变化,如下图所示:
概念上讲,也可以以3-D的数据立方体的形式表示这些数据,如下图所示:
假定再增加一个维,用来表示制造商的变化,哪应该如何表示数据了呢?我们按照上面的思路,可以表示成如下图所示的数据结构,并称之为4-D立方体。
以此类推,可以把N-D数据立方体表示为(N-1)-D数据立方体的序列。这是OLAP的基本原理,至于其中使用了何种具体的算法,来计算与管理每个“子方体”的,内容太多,不能再这里啰嗦了...
说明:
数据立方本是对多维数据存储的一种比喻,这种数据的实际物理存储不同于它的逻辑表示。它不限于3-D,而是N维的。
五、数据展现
数据查询是最简单的 BI 应用,输出报表是BI最直接的产物,根据数据连接,加工过程及用途,应用模式大致可以分为四种:格式报表;在线分析;数据可视化;数据挖掘。
1、格式报表:带格式的数据集合,如:交叉表等。
2、在线分析:多维数据集合,如:Cube等。
3、数据可视化:信息以尽可能多的形式展现出来,目的是使决策者通过图形这种直观的表现方式迅速获得信息中蕴藏的知识,如柱图,仪表盘等。
4、数据挖掘:从大量的数据中,抽取出潜在的、有价值的知识(模型或规则)的过程。分析方法:
· 分类 (Classification)
· 估值(Estimation)
· 预言(Prediction)
· 相关性分组或关联规则(Affinity grouping or association rules)
· 聚集(Clustering)
· 描述和可视化(Description and Visualization)
数据挖掘号称能通过历史数据的分析,预测客户的行为,而事实上,客户自己可能都不明确自己下一步要作什么。所以,数据挖掘的结果,没有人们想象中神秘,它不可能是完全正确的。客户的行为是与社会环境相关连的,所以数据挖掘本身也受社会背景的影响。
六、常用的BI 厂商和产品
ETL:Informatica, SQL Server Analysis Server
DW:IBM DB2,Oracle,Sybase IQ,NCR Teradata 等等;
OLAP: Cognos,Business Objects,MicroStrategy,Hyperion,IBM
Data Mining:IBM,SAS,SPSS
现在很多的数据库提供商都开始绑定BI的开发组件到自己的数据库产品中,他们都瞄准了这其中的肥肉,磨拳檫掌,各论长短。
七、BI在中国
中国拥有5000年的文化史,灿烂的文件让日常报表也非常具有凝聚力,交错纵横,里外相嵌,格式诡异、规则古怪、数据集中而文名于世,让无数报表工具折腰。BI概念是从欧美引进的,现有的工具也多是欧美国家提供,中国是世界上报表最复杂的国家,报表设计风格与这些国家有明显的差别,BI工具制作的报表倾向于仅用一张报表说明一个问题,而中国的报表倾向于将尽可能多的问题集中在一张报表中,这种思路直接导致了BI工具应用难度的提升。
===========================================================================================
===========================================================================================
===========================================================================================
---BI---
商务智能(Business Intelligence)是指将储存于各种商业信息系统中的数据转换成有用信息的技术。
目前,各个行业都面对着激烈的竞争,及时、准确的决策已成为企业生存与发展的生命线。随着信息技术在企业中的普遍应用,企业产生了大量富有价值的电子数据。但这些数据大都存储于不同的系统中,数据的定义和格式也不统一,商务智能(BI)系统能从不同的数据源搜集的数据中提取(E)有用的数据,并对这些数据进行清洗,以确保数据的正确性,然后对数据进行转换(T)、重构等操作后,将其存入(L)数据仓库或数据集市中;然后运用适合的查询、分析工具、数据挖掘工具、OLAP工具等管理分析工具对信息进行处理,使信息变为辅助决策(DSS)的知识,并将知识以适当的方式展示在决策者面前,供决策者运筹帷幄。
FYI. BO(狭义的,也就是BOE)属于BI中的前端展示工具,当然(广义的)它也包括一些ETL的tool,比如Composer、Data Integrator、Data Federator
---DW---
数据仓库(Data Warehouse)就是面向主题的、集成的、稳定的、不同时间的数据集合,用以支持经营管理中的决策制订过程。(个人感觉这个定义过于飘渺,姑且抄在这)
整个数据仓库系统的体系结构可以划分为以下四个层次。
数据源是数据仓库系统的基础,是各类数据的源泉,通常包括企业的各类信息。如存放于RDBMS中的各种业务处理数据、各类文档数据、各类法律法规、市场信息,竞争对手的信息等等。
数据的存储与管理是整个数据仓库系统的核心,是数据仓库的关键。数据仓库的组称管理方式决定了它由别于传统的数据库,同时也决定了其对外部数据的表现形式。数据仓库的组织按照数据覆盖范围可以分为企业级数据仓库和部门级数据仓库(通常称为数据集市)。
OLAP服务器对分析需要的数据进行有效地集成,按多维模式予以组织,以便进行对角度、多层次的分析,并发现趋势。
前端工具主要包括各种报表工具、查询工具、数据分析工具、数据挖掘工具以及各种基于数据仓库或数据集市的应用开发工具。其中数据分析工具主要针对OLAP服务器,报表工具、数据挖掘工具主要针对数据仓库。
---总结---
从上面两个定义可以看出,BI和DW有许多概念重叠的地方,甚至让人困惑,这二者的关系又如何?到底谁包含谁呀?本人肤浅的理解是:
DW概括的是一项技术,而BI概括的是使用(DW)技术的一个领域。或许我们可以说,BI是建立在DW系统上最广泛、最典型的一种应用。
这里用到了“技术”、“应用”这样的词语来形容BI和DW,并不是在于将这两个概念简陋化,能表达出我的意思就行。
---补充背景---
2004年的BI峰会,确定了BI即是数据仓库之上的查询、报表和多维数据分析。正如本次峰会发言人所概括的当年认为BI是一堆技术工具的集合。
2007年的BI峰会对BI的重定义:我们开始将商业智能视为一个伞状的概念,它包括了分析应用、基础架构和平台和良好的实践。”
BI究竟是干什么的。一个是信息发布,一个是决策支持。
可见,数据仓库、数据标准等平台已经涵盖在BI范畴里,BI已不再是前端展现工具;BI不再仅属于技术的范畴了。