2010年商业智能研究分析报告作者周倚平商业智能通常被理解为将企业中现有的数据(业务,财务,研发等)转化为知识,帮助企业做出明智的业务经营决策的系统架构。
为了将数据转化为知识,需要利用数据仓库、联机分析处理(OLAP)工具和数据挖掘(DM)等技术。
因此,从技术层面上讲,商业智能不是什么新技术,它只是数据仓库、OLAP和数据挖掘等技术的综合运用。
商业智能的形成过程:采集(业务系统ERP)→组织存储(数据仓库)→分析预测(数据挖掘)→实时报表(OLAP)相对来说做商务智能和ERP最大的区别在于ERP是流程驱动,商务智能是目标驱动。
看企业究竟想做什么。
主流产品:Cognos(IBM),SPSS(IBM),Hyperion(Oracle),BO(SAP,Crystal),Excel+SQL Server (Microsoft),Informatica,SAS主要厂商ETL:Informatica, SQL Server Analysis ServerDW:IBM DB2,Oracle,Sybase IQ,NCR TeradataOLAP:Cognos,Business Objects,MicroStrategy,Hyperion,IBMData Mining:IBM,SAS,SPSS1. 关键技术1.1. ETL 过程不同数据源(Oracle ,DB2,SQLServer ) 不同的数据(关系型数据,文档,图片,音视频)商业智能的核心内容是从许多来自企业不同的业务处理系统的数据(分布的,异构的源数据)中,提取出有用的数据,进行清理以保证数据的正确性,然后经过抽取(Extraction )、转换(Transformation )和装载(Load ),即ETL 过程(本质上是样本提取的过程),整合到一个企业级的数据仓库里,从而得到企业信息的一个全局视图,在此基础上利用合适的查询和分析工具、数据挖掘工具等对数据仓库里的数据进行分析和处理,形成信息,甚至进一步把信息提炼出辅助决策的知识,最后把知识呈现给管理者,为管理者的决策过程提供支持。
ETL 特征:l 以串行/并行方式,从不同异构数据源流向统一的目标数据,核心在于转换过程(关联,聚集),而抽取和装载一般可以作为转换的输入和输出。
l ETL 元数据主要包括每次转换前后的数据结构和转换的规则。
l 数据同步,数据ETL 是经常性的活动,按照固定周期运行,甚至实时运行。
l 庞大的数据量,需要ETL 工具有良好的伸缩性。
l 流程控制和数据验证机制。
下图是数据仓库/商业智能的完整的体系结构图,根据数据的不同形态,整个体系被划分为四个大的层面,并根据数据的处理和应用过程再细分成七个环节。
从数据源经过抽取(Extra ,E)、转换(Transform ,T )、装载(Load ,L )过程加载到中央数据仓库, 再从数据仓库经过分类加工放到数据集市(DM, Data Market),或者将数据集市中的数据进一步存放到多维数据库(MDD, Multi-dimension Database),这都属于数据组织的问题,从中间层到终端用户或从多维数据库到终端用户可将其划归为前端应用实现的问题。
而贯穿整个体系数据处理环节的,是系统的流程调度控制和元数据管理。
数据仓库 ETL1.2. 数据仓库(DW)按照W.H.Inmon 这位数据仓库权威的说法,“数据仓库(Data Warehouse)是一个面向主题的、集成的、时变的、非易失的数据集合,支持管理部门的决策过程”。
这个简短而又全面的定义指出了表明数据仓库主要特征的四个关键词:面向主题的、集成的、时变的、非易失的,将数据仓库与其他数据存储系统(如关系数据库系统、事务处理系统和文件系统)区别开来。
面向主题的(subject-oriented):数据仓库围绕一些主题,如顾客、供应商、产品和销售组织。
数据仓库关注决策者的数据建模与分析,而不是集中于组织机构的日常操作和事务处理。
因此,数据仓库排除对决策无用的数据,提供特定主题的简明视图。
集成的(integrated):通常,构造数据仓库是将多个异种数据源,如关系数据库、一般文件和联机事务处理记录集成在一起。
使用数据清理和数据集成技术,确保命名约定、编码结构和属性度量等指标的一致性。
时变的(time-variant):数据存储从历史的角度提供信息。
数据仓库中的关键结构,隐式或显式地包含时间元素。
非易失的(nonvolatile):数据仓库的数据是有历史保存意义的,数据仓库的数据也只使用添加的方式,进入了数据仓库的数据一般情况下是不需要更新的,这样就保证了数据的稳定性。
通常,它只需要三种数据访问:数据的初始化装入、数据的添加和数据查询访问。
在已有的数据仓库实践中,关系数据库仍然是实质的数据库存储工具,只是将数据库表改称为了事实表和维表,将属性域之间的关系重新定义为维度,量度,层次,粒度等。
事实表是用来记录具体事件的,包含了每个事件的具体要素,以及具体发生的事情;维表则是对事实表中事件的要素的描述信息。
数据仓库的架构模型包括了星型架构与雪花型架构两种模式。
星型架构的中间为事实表,四周为维度表,类似星星;而相比较而言,雪花型架构的中间为事实表,两边的维度表可以再有其关联子表,从而表达了清晰的维度层次关系。
销售数据仓库中的星型模型销售数据仓库中的雪花型模型构建企业级Data仓库五步法(一) 确定主题即确定数据分析或前端展现的主题。
例如:我们希望分析某年某月某一地区的啤酒销售情况,这就是一个主题。
主题要体现出某一方面的各分析角度(维度)和统计数value型数据(量度)之间的关系,确定主题时要综合考虑。
我们可以形象的将一个主题想象为一颗星星:统计数value型数据(量度)存在于星星中间的事实表;分析角度(维度)是星星的各个角;我们将通过维度的组合,来考察量度。
那么,“某年某月某一地区的啤酒销售情况”这样一个主题,就要求我们通过时间和地区两个维度的组合,来考察销售情况这个量度。
从而,不同的主题来源于数据仓库中的不同子集,我们可以称之为数据集市。
数据集市体现了数据仓库某一方面的信息,多个数据集市构成了数据仓库。
(二) 确定量度在确定了主题以后,我们将考虑要分析的技术指标,诸如年销售额之类。
它们一般为数value 型数据,称为量度。
量度是要统计的指标,必须事先选择恰当,基于不同的量度可以进行复杂关键性能指标(KPI)等的设计和计算。
(三) 确定事实数据粒度在确定了量度之后,我们要考虑到该量度的汇总情况和不同维度下量度的聚合情况。
考虑到量度的聚合程度不同,或采用“最小粒度原则”,即将量度的粒度设置到最小。
(四) 确定维度维度是指分析的各个角度。
例如我们希望按照时间,或者按照地区,或者按照产品进行分析,那么这里的时间、地区、产品就是相应的维度。
基于不同的维度,我们可以看到各量度的汇总情况,也可以基于所有的维度进行交叉分析。
(五) 创建事实表在确定好事实数据和维度后,我们将考虑加载事实表。
在公司的大量数据堆积如山时,我们想看看里面究竟是什么,结果发现里面是一笔笔生产记录,一笔笔交易记录…那么这些记录是我们将要建立的事实表的原始数据,即关于某一主题的事实记录表。
事实表是数据仓库的核心。
数据仓库供应商目前主要的数据仓库产品供应商包括Oracle、IBM、Microsoft、SAS、Teradata、Sybase、Business Objects等。
其特点是分布式运行,高伸缩性,支持不同操作系统,支持主流数据库,支持主流OLAP客户端。
Oracle公司的数据仓库解决方案包含了业界领先的数据库平台、开发工具和应用系统,能够提供一系列的数据仓库工具集和服务,具有多用户数据仓库管理能力,多种分区方式,较强的与OLAP工具的交互能力及快速和便捷的数据移动机制等特性;IBM公司的数据仓库产品称为DB2 Data Warehouse Edition,它结合了DB2数据服务器的长处和IBM的商业智能基础设施,集成了用于仓库管理、数据转换、数据挖掘以及OLAP分析和报告的核心组件,提供了一套基于可视数据仓库的商业智能解决方案。
微软的SQL Server提供了三大服务和一个工具来实现数据仓库系统的整合,为用户提供了可用于构建典型和创新的分析应用程序所需的各种特性、工具和功能,可以实现建模、ETL、建立查询分析或图表、定制KPI、建立报表和构造数据挖掘应用及发布等功能。
SAS公司的数据仓库解决方案是一个由30多个专用模块构成的架构体系,适应于对企业级的数据进行重新整合,支持多维、快速查询,提供服务于OLAP操作和决策支持的数据采集、管理、处理和展现功能。
Teradata公司提出了可扩展数据仓库基本架构,包括数据装载、数据管理和信息访问几个部分,是高端数据仓库市场最有力竞争者,主要运行在基于Unix操作系统平台的NCR硬件设备上。
Sybase(SAP)提供了称为Warehouse Studio的一整套覆盖整个数据仓库建立周期的产品包,包括数据仓库的建模、数据集成和转换、数据存储和管理、元数据管理和数据可视化分析等产品。
Business Objects(SAP)是集查询、报表和OLAP技术为一身的智能决策支持系统,具有较好的查询和报表功能,提供多维分析技术,支持多种数据库,同时它还支持基于Web浏览器的查询、报表和分析决策。
1.3. 元数据(Meta-data)元数据通常定义为“关于数据的数据(例如视图,查询SQL,事务,存储过程)”,是描述和管理数据仓库自身内容对象、用来表示数据项的意义及其在系统各组成部件之间的关系的数据。
元数据作用于数据仓库的创建,维护,管理和使用的各个方面。
是从广义上来讲,用元数据来描述数据仓库对象的任何东西——无论是一个表、一个列、一个查询、一个商业规则,或者是数据仓库内部的数据转移。
它在数据源的抽取、数据加工、访问与使用等过程中都会存在。
实现元数据管理的主要目标就是使企业内部元数据的定义标准化。
数据仓库的维护工具可以根据元数据完成数据的抽取、清洗和转换,并做适度的汇总。
数据仓库的元数据包括:(1)数据资源:包括各个数据源的模型,描述源数据表字段属性及业务含义,源数据到数据仓库的映射关系;(2)数据组织:数据仓库、数据集市表的结构、属性及业务含义,多维结构等等;(3)数据应用:查询与报表输出格式描述、OLAP、数据挖掘等的数据模型的信息展现;(4)数据管理:这里包括数据仓库过程以及数据仓库操作结果的模型,包括描述数据抽取和清洗规则、数据加载控制、临时表结构、用途和使用情况、数据汇总控制。
1.4. 数据挖掘(DM,Data Mining)数据挖掘(Data Mining)是采用数学的、统计的、人工智能(人工生命,数篇论文)和神经网络等领域的科学方法,从大量数据中挖掘出隐含的、先前未知的、对决策有潜在价值的关系、模式和趋势, 并用这些知识和规则建立用于决策支持的模型,为商业智能系统服务的各业务领域提供预测性决策支持的方法、工具和过程。