16.2  数据仓库、商业智能的体系结构

如图16-5所示是数据仓库/商业智能的完整的体系结构图,根据数据的不同形态,整个体系被划分为4个大的层面,并根据数据的处理和应用过程再细分成7个环节。从数据源经过抽取(Extra,E)、转换(Transform,T)、装载(Load,L)过程加载到中央数据仓库,再从数据仓库经过分类加工放到数据集市(DM,Data Market),或者将数据集市中的数据进一步存放到多维数据库(MDD,Multi-dimension Database)中,这都属于数据组织的问题,从中间层到终端用户或从多维数据库到终端用户可将其划归为前端应用实现的问题。而贯穿整个体系数据处理环节的,是系统的流程调度控制和元数据管理。

图16-5  数据仓库/商业智能体系结构图

16.2.1  数据源

数据源可以是企业日常运作积累下来的各类的业务数据,也可以是外部的数据。这些数据在存放方式、存放格式、存放地点上可能是多种多样的,这就要求数据仓库的体系结构必须能处理由这种多样性带来的种种问题,如访问多种技术平台下,多种类型的DBMS内的数据,并解决由于数据远程迁移所带来的完整性和安全性问题。

16.2.2  数据抽取、转换和装载

数据抽取、转换和装载完成如下任务:从源数据抽取数据、进行一定的变换、装载到数据仓库。在上述过程中,需要进行如下数据处理。

l         简单变换:是数据变换最简单的形式,一次只针对一个字段,而不是考虑相关字段的值。主要有数据类型的转换、日期/时间的格式转换、字段解码等。

l         清洁和刷洗:目的是为了保证前后一致地格式化和使用某一字段或相关的字段群。清洁和刷洗是两个可以互换的术语,指的是比简单变换更为复杂的一种变换。在这种变换中,要检查的是字段和字段组中的实际内容而不仅是存储格式。一种检查是检查数据字段值的有效值,它指的是检验一个字段的有效值以保证它落在预期的范围之内,通常是数字范围和日期范围。数据刷洗的另一主要类型是重新格式化某些类型的数据,这种方法适用于可以用许多不同方式存储在不同数据来源中的信息,必须在数据仓库中把这类信息转换成一种统一的表示方式。

l         集成:要把从来源全然不同的数据结合在一起,真正的困难在于将其集成一个紧密结合的数据模型。这些数据来源往往遵守的不是同一套业务规则,在生成新数据时,必须考虑到这一差异。

l         聚集和概括:大多数数据仓库都要用到数据的某种聚集和概括。这通常有助于将某一实例的数目减少到易于驾驭的水平,也有助于预先计算出广泛的概括数字,以使每个查询不必计算它们。概括是指按照一个和几个业务维将相近的数值加在一起,聚集是将不同业务元素加在一起或为一个公共总数,在数据仓库中它们是以相同的方式进行的。

16.2.3  数据仓库

数据仓库的一个目的就是把企业的信息访问基础,从一种非结构化的或发展中的环境改变成一种结构化或规划良好的环境。

对于传统的业务处理(OLTP)系统,我们总是按照业务应用来建立它的模型,换言之,业务处理系统是面向应用来设计的,更准确地说是面向交易来设计的。而数据仓库则一般按照主题(Subject)来建模,它是面向主题的。何谓应用? 何谓主题? 让我们来看一个简单的例子。在银行中,一般都有对私(个人储蓄)、对公(企业储蓄)、信用卡等多种业务系统。它们都是面向相关业务应用设计的交易处理系统,主要任务是完成业务交易过程中的数据处理。数据库在设计时围绕性能和完整性方面,而每个交易涉及的数据往往只是记录的层面,数据库设计主要考虑并行更新方面,并不需要考虑为全表范围的查询做优化,而系统本身所支持的交易类型简单而且固定。由于历史原因,这些系统设计的时候都是独立进行的,所以可能运行在不同的平台上,相互之间没有什么关系,各系统之间对相同的业务信息还存在数据上的冗余。比如每个系统中都会有客户的数据,这种数据的零碎和冗余,使决策者很难从这些业务系统中直接获取全面的信息。

为了克服这个弊病,建立数据仓库应用时, 要把业务系统中的数据从中抽取出来,转换和清洗以消除数据的不一致性和冗余,加载到数据仓库中来。这样,数据仓库中的数据就从整个银行角度来看,其数据模型不再面向个别应用,而是面向整个银行的业务主题,比如客户、产品、渠道等。因此,各个生产系统中与客户、产品、渠道等相关的信息将分别转换到数据仓库中相应的主题中,从而给银行的决策者提供一个一致的完整的信息视图。

1.数据仓库的关键特征

按照 W.H.Inmon这位数据仓库权威的说法:“数据仓库是一个面向主题的、集成的、时变的、非易失的数据集合,它支持管理部门的决策过程”。这个简短而又全面的定义指出了表明数据仓库主要特征的4个关键词:面向主题的、集成的、时变的、非易失的,将数据仓库与其他数据存储系统(如关系数据库系统、事务处理系统和文件系统)区别开来。让我们进一步看看这些关键特征。

l         面向主题的(Subject-Oriented):数据仓库围绕一些主题,如顾客、供应商、产品和销售组织。数据仓库关注决策者的数据建模与分析,而不是集中于组织机构的日常操作和事务处理。因此,数据仓库排除对决策无用的数据,提供特定主题的简明视图。

l         集成的(Integrated):通常,构造数据仓库是将多个异种数据源,如关系数据库、一般文件和连机事务处理记录集成在一起。使用数据清理和数据集成技术,确保命名约定、编码结构和属性度量等指标的一致性。

l         时变的(Time-Variant):数据存储从历史的角度(例如过去5~10年)提供信息。数据仓库中的关键结构,隐式或显式地包含时间元素。

l         非易失的(Nonvolatile):数据仓库的数据是有历史保存意义的,数据仓库的数据也只使用添加的方式(不用时间的数据用时间戳来区分),进入了数据仓库的数据一般情况下是不需要更新的,这样就保证了数据的稳定性。通常,它只需要三种数据访问:数据的初始化装入、数据的添加和数据查询访问。

概言之,数据仓库是一种语义上一致的数据存储,它充当决策支持数据模型的物理实现,并存放企业战略决策所需的信息。数据仓库通过将异种数据源中的数据集成在一起而构造,支持结构化的和专门的查询、分析报告和决策。

2.星形模式

逻辑建模是数据仓库实施中的重要一环, 因为它能直接反映出决策者管理者的需求,同时对系统的物理实施有着重要的指导作用。目前较常用的两种建模方法是所谓的第三范式(3NF,即 Third Normal Form)和星形模式(Star-Schema),3NF是数据库设计的基础理论,这里不再展开。

星形模式是一种多维的数据关系,它由一个事实表(Fact Table)和一组维表(Dimension Table)组成。每个维表都有一个维作为主键,所有这些维的主键组合成事实表的主键。事实表的非主键属性称为事实(Fact),它们一般都是数值或其他可以进行计算的数据;而维大都是文字、时间等类型的数据,按这种方式组织好数据我们就可以按照不同的维(事实表主键的部分或全部)来对这些事实数据进行求和(summary)、求平均(average)、计数(count)、百分比(percent)的聚集计算,甚至可以做20~80分析。这样就可以从不同的角度数字来分析业务主题的情况,下面给出一个直观的例子,如图16-6所示。

图16-6所示的是一个典型的银行贷款分析的模型设计,其中加边框的为主关键字(PK, Primary Key),贷款分析表是一个事实表,贷款授信金额/贷款余额是从各角度观察的数据(事实),而观察的角度是由区域、银行、时间、质量这4个方面组合的。这些分析角度的有机组合,可以对授信金额和贷款余额进行4×8×4×8种组合的数据统计分析,以此实现对贷款情况的多角度(维)多层次(数据不同的汇总程度)分析。贷款分析人员既可以宏观地看到贷款业务的整体情况,又可以微观地观察到具体一家银行一天一类贷款的细节信息。在进行多维分析的时候,维度选择越多数据越细(划分得更细了),维度选择越少数据汇总越宏观。

中间一个大表形成主表,周围一组小表与主表相关联的结构,其形态上呈星星和雪花的形状,星形模型是数据仓库的数据模型与其他数据库应用相区分的一个重要特征,如图16-7所示。

 


3.粒度

粒度是数据仓库的重要概念。粒度可以分为两种形式,第一种粒度是对数据仓库中的数据的汇总程度高低的一个度量,它既影响数据仓库中数据量的多少,也影响数据仓库所能回答询问信息的种类。在数据仓库中,多维粒度是必不可少的。由于数据仓库的主要作用是多维分析,因而绝大多数查询都基于一定程度的汇总数据之上的,只有极少数查询涉及细节。

还有一种粒度形式,即样本数据库。它根据给定的采样率从细节数据库中抽取出一个子集。这样样本数据库中的粒度就不是根据汇总程度的不同来划分的,而是由采样率的高低来划分。采样粒度不同的样本数据库可以具有相同的数据汇总程度。

4.分割

分割是数据仓库中的数据存储的另外一个重要概念,它的目的在于提高效率。它是将数据分散到各自的物理单元中去,以便能分别独立处理,以实现查询操作的并行。有许多数据分割的标准可供参考,如时间、地域、业务领域等,也可以是其组合。一般而言,分割标准总应包括一些能让它十分自然而且分割均匀的项目,如时间项。

16.2.4  数据集市

简单地把数据集市(DM,Data Market)理解成数据仓库的一部分是不对的,因为两者虽然在数据上有非常密切的联系,而定位上却是不同的。数据仓库所对应的是整个企业的层面的整体信息视图,体现决策信息在企业的共性需求。而对于企业内同一个业务概念,由于业务观点的不同导致大家对数据的理解和运用有不同的视角,缺乏针对性的单一模型并不能都满足这种不同观点的数据需求。例如客户是现在企业非常重要的一个信息主题,从产品经理的角度,可能关心的是客户的消费喜好和消费行为,而从财务经理的角度,更多地可能是关心客户的成本和带来的收益,这些不同的数据的使用观点需要不同的数据模型来满足。一般而言,数据仓库可以理解为为企业决策信息平台提供总数据支持的应用需求,数据集市可以理解为为部门范围级别的决策支持应用而设计的,其数据模型设计和数据组织上更多地服务于一个部门的信息需求。

结合数据集市的数据来源,数据集市分为两种,即独立的数据集市(Independent Data Mart)和从属的数据集市(Dependent Data Mart),如图16-8所示。

图16-8  数据集市类型

从属数据集市的数据直接来自于中央数据仓库,这样有利于保持数据的一致性,因为来自同一数据源并且已经经过一致性处理和检验。从属数据集市的作用在于,为一些部门建立数据集市,将需要的数据复制、加工到其中,这样不仅可以提高此部门的访问速度,同时也为能满足该部门的一些特殊的分析需求。

独立数据集市的数据直接来自于业务系统,由于为各个部门都建立了各自的数据集市,而当需要从整体上建立一个DW时,不同数据集市中的数据表达由于各部门的不同特殊需要而有所不同,将这种不一致的数据整合到一个中心DW时,可能会遇到一些困难,比如重新设计、各部门协调等。其优点是建立迅速、价格相对低廉。因此建立独立数据集市往往是由于投资方面的考虑或工期的紧迫,或解决某部门的迫切需要。然而需要注意的是,在设计其他部门的数据集市或中心DW时,要充分考虑现有数据集市的设计,以避免由于设计的不一致性而造成后期整合的困难及昂贵的费用。

表16-1是从属数据集市与独立数据对比。

表16-1  从属数据集市与独立数据集市对比表

对    比

优    点

缺    点

从属数据集市

保证数据一致性

架构比较理想,可扩展能力强

依赖与中心数据仓库的实施

实施周期长

实施成本高

独立数据集市

实施周期短

实施成本低

没有消除信息分割

可扩展能力弱

后期整合困难

16.2.5  操作型数据存储区

操作型数据存储区(ODS,Operational Data Store),是为了弥补业务系统和数据仓库之间的数据同步差距而提出的,要解决的问题:“对一个特定的业务流程来说,怎么才能提供最新的、跨功能部门之间的信息”,例如对客户服务人员,他需要销售、库存、市场和研发等各部门的最新数据,而这些数据原来是分散在不同部门的不同应用系统的;如果通过数据仓库来实现数据集成,则实时性难以保证,或者建设成本很高。

ODS是数据仓库体系结构中的一个可选部分,ODS具备数据仓库的部分特征和OLTP系统的部分特征,它是“面向主题的、集成的、当前或接近当前的、不断变化的”数据,同数据仓库类似,ODS也是面向主题的、集成的,但是其最大特点是数据是可更新的,甚至由业务系统通过触发器直接更新。因此,ODS是业务系统和DW之间更偏向业务系统的数据存储区域。

一般在带有ODS的系统体系结构中,ODS都设计为如下几个作用。

1.在业务系统和数据仓库之间形成一个隔离层

一般的数据仓库应用系统都具有非常复杂的数据来源,这些数据存放在不同的地理位置、不同的数据库、不同的应用之中。从这些业务系统对数据进行抽取并不是一件容易的事。因此,ODS用于存放从业务系统直接抽取出来的数据,这些数据从数据结构、数据之间的逻辑关系上都与业务系统基本保持一致。因此在抽取过程中极大地降低了数据转化的复杂性,而主要关注数据抽取的接口、数据量大小、抽取方式等方面的问题。

2.转移一部分业务系统细节查询的功能

在数据仓库建立之前,大量的报表、分析是由业务系统直接支持的,在一些比较复杂的报表生成过程中,对业务系统的运行产生相当大的压力。ODS的数据从粒度、组织方式等各个方面都保持了与业务系统的一致,那么原来由业务系统产生的报表、细节数据的查询自然能够从ODS中进行,从而降低业务系统的查询压力。

3.完成数据仓库中不能完成的一些功能

一般来说,在带有ODS数据仓库体系结构中,DW层所存储的数据都是汇总过的数据,并不存储每笔交易产生的细节数据。但是在某些特殊的应用中,可能需要对交易细节数据进行查询,这时就需要把细节数据查询的功能转移到ODS来完成,而且ODS的数据模型按照面向主题的方式进行存储,可以方便地支持多维分析等查询功能。

在一个没有ODS层的数据仓库应用系统体系结构中,数据仓库中存储的数据粒度是根据需要而确定的,但一般来说,最为细节的业务数据也是需要保留的,实际上数据的内容也就相当于ODS。但与ODS所不同的是,这时的细节数据不是“当前、不断变化的”数据,而是“历史的,不再变化的”数据。ODS可以和DW形成互补的整体,构成完整的战术决策支持系统架构,然而需要注意的是,数据抽取,要么抽取到ODS中,要么抽取到DW中,不能同时都抽取;而DW会定时到ODS进行数据抽取,这就是一个关键的ETL设计准则:即应用“Single Source Population”(单源传播),以保证数据在ETL过程中的一致性。

利用ODS+DW实现战术决策支持有其非常直观的优势:利用ODS实现实时或者准实时的数据抽取,而且ODS的数据量不大,可以比较高效地进行数据的修改和更新,并且可以提高查询的效率。而利用数据仓库的海量存储,可以实现历史数据的查询,实现战略决策支持。

但是,这种方式也有很明显的劣势:由于ODS和DW的结构和模型是不同的,这需要进行不同的系统和数据模型设计,也需要不同的系统维护过程,这就相应地增加了系统的使用成本。

16.2.6  元数据

往往一个数据仓库需要包容和整合成千上万的信息内容,内容的多样性使数据仓库的数据结构显得异常庞大和复杂。因此,要简单地用一种不需要言传的方式来描述一个数据仓库的内容和结构是不可能的事情,因而在从开发到运行维护的整个数据仓库生命周期中,如何描述数据仓库里面有的东西,并成了一件非常重要的事情。

元数据(Meta-Data)通常定义为“关于数据的数据”,是描述和管理数据仓库自身内容对象、用来表示数据项的意义及其在系统各组成部件之间的关系的数据。实际上,数据仓库所提供的“统一的企业级的信息视图”能力,主要就是靠元数据来体现。但是从广义上来讲,用元数据来描述数据仓库对象的任何东西——无论是一个表、一个列、一个查询、一个商业规则,还是数据仓库内部的数据转移。它在数据源的抽取、数据加工、访问与使用等过程中都会存在。实现元数据管理的主要目标就是使企业内部元数据的定义标准化。数据仓库的维护工具可以根据元数据完成数据的抽取、清洗和转换,并做适度的汇总。数据仓库的元数据包括如下内容。

l         数据资源:包括各个数据源的模型,描述源数据表字段属性及业务含义,源数据到数据仓库的映射关系。

l         数据组织:数据仓库、数据集市表的结构、属性及业务含义、多维结构等。

l         数据应用:查询与报表输出格式描述、OLAP、数据挖掘等的数据模型的信息展现、商业术语。

l         数据管理:这里包括数据仓库过程,以及数据仓库操作结果的模型,包括描述数据抽取和清洗规则、数据加载控制、临时表结构、用途和使用情况、数据汇总控制。

元数据贯穿整个数据仓库项目,所有数据处理环节必须最大化地参照元数据,这样才能保证数据仓库项目不会因为不断增长的数据多样性而失去秩序,特别是在现行应用的异构性与分布性越来越普遍的情况下,统一的元数据就愈发重要了。“信息孤岛”曾经是很多企业对其应用现状的一种抱怨和概括,而合理的元数据则会有效地描绘出信息的关联性,从而大大降低数据仓库后期的维护和运行成本。

按照元数据的使用情况和面向对象的不同,可以将元数据分为业务元数据、技术元数据、操作元数据。

1.业务元数据

业务元数据用业务名称、定义、描述和别名来表示数据仓库和业务系统中的各种属性,直接供最终用户使用。业务元数据使最终用户能够更好地理解、使用数据仓库,成为最终用户在数据仓库中的业务信息地图。

业务元数据在系统的数据仓库中的体现是全方位的,例如,最终用户通过浏览元数据可以清晰地了解当前指标代表什么业务、如何计算得出的、以什么为单位等相关描述信息。

2.技术元数据

技术元数据描述了源系统、数据转换、抽取过程、工作流、加载策略,以及目标数据库的定义等。技术元数据可供信息系统人员和一部分最终用户使用,用来进行影响分析、变化管理、数据库优化、任务调度和安全管理等。

OLTP业务系统和数据仓库分析系统之间存在复杂、多方面的区别,因此,数据在业务系统和分析系统之间的处理、加载也是复杂和涉及多方面的。技术元数据对数据在两个系统间处理、加载的规则、过程、相关策略进行了描述。

3.操作元数据

操作元数据描述了目标表中的信息,如粒度、创建目标表和索引的信息、刷新时间、记录数、按时执行任务的设置,以及有权访问数据的用户。操作元数据用于数据仓库的维护和分布。

虽然元数据依据具体应用特点分为业务元数据、技术元数据和操作元数据,但是,在实际应用中以上三类元数据是相互参照和关联的。只有业务、技术、操作之间的协调和互补才能充分发挥数据仓库的潜能,提高数据仓库的利用效率。

4.元数据标准CWM

OMG于2001年颁布元数据标准CWM 1.0(Common Warehouse Metamodel Version 1.0)。CWM定义一个描述数据源、数据目的、转换、分析的元数据框架,以及定义建立和管理数据仓库的过程和操作,提供使用信息的继承。

目前宣布支持CWM的厂商包括:IBM、Oracle、Hyperion、Dimension EDI、Genesis IONA、HP、NCR和Unisys等。

CWM基于3个工业标准。

l         UML - Unified Modeling Language,OMG建模标准。

l         MOF - Meta Object Facility,OMG建立元模型和模型库的标准,提供在异构环境下的数据交换的接口。

l         XMI - XML Metadata Interchange,OMG元数据交换标准。

UML在CWM中得到充分的应用,担任3个不同的角色。

l         UML用来作为与MOF对应的meta-metamodel。UML相当于MOF Model,UML Notation和OCL(Object Constraint Language),被用来作为建模语言、图形符号、约束语言,定义和描述CWM。

l         UML用来创建元模型。UML,特别是Object Model 包描述的子集,用来从其他元模型继承等级和关联以建立CWM。

l         UML作为面向对象元模型(Object-Oriented Metamodel)。UML被用来描述面向对象的数据。 CWM元模型包括大量的子元模型(Sub-Metamodel),这些子元模型描述了建立数据仓库和商业智能的各个主要部分的通用数据仓库元数据。

CWM元模型设计的目的是最大化地重用对象模型Object Model(UML的子集),尽可能地共享通用的模型构建。最典型的是,CWM重用/依赖对象模型来描述面向对象的数据资源;另外,其他类型的数据资源的主要Metamodel元素,在对象模型中都有相同的模型元素与之相对应。

16.2.7  前端应用概述

数据仓库的前端应用是建立数据仓库的目的,没有前端应用,数据仓库就失去了意义。另一方面,由于最终用户的要求多种多样,不可能用同一个界面满足所有用户的信息查询要求,必须根据用户的特点提供不同的界面。最终用户对数据仓库的访问方式包括:即席查询、报表、连机分析处理(OLAP)、数据挖掘(DM,Data Mining),以及领导信息系统(EIS)等。用户可以通过浏览器或其他前端工具(如Excel,Hyperion、BO、Cogno、SAS、 SPSS等厂商提供的前端分析工具)远程或本地访问数据仓库的数据。

1.信息用户类型

数据仓库系统的服务对象是企业或组织机构的决策人员、数据分析专家、中下级别经理和一般业务人员。不同层次的用户对数据仓库的服务需求有着明显的差异。

l         高层决策者需要了解业务的总体情况和总的发展态势,他们可能使用系统提供的分析工具自己发现问题,但更主要的是利用分析结果进行决策,高层决策者需要通晓业务的具体状态和发展趋势,包括业务的状态和构成(机构构成、时间构成、产品构成、客户构成等),以及各个指标的发展趋势和预测。

l         数据分析专家需要更加深入地从数据仓库中发现问题和市场机会及风险,需要及时把发现的结果报告给高层决策者。

l         

中下级经理和业务人员通常仅仅关心与各自工作相关的内容,他们或许对报表和固定的数据查询更为习惯。

如图16-9所示描述了商业智能系统中各种用户角色对系统数据深度、广度、分析复杂性、对目标软件易用性、对软件的控制能力和客户化程度的要求,以及对业务整体和局部信息需求程度的要求。

分析用户类型是系统功能设定、分布的依据。图 16-9中以色谱形式表示对信息服务深度的需求,从最浅显的数据查询到深度数据挖掘。8条坐标线表示用户对不同系统特性的需求。这些系统性能是:数据深度和广度、分析复杂性、软件易用性、灵活性和客户化程度、对业务全局性和局部性信息的需求(战略、战术需求)。

商业智能的用户类型、角色、需求、分析方法及所需的前端工具对照如表16-2所示。

表16-2  商业智能用户对照表


用 户 类 型

角    色

需    求

分 析 方 法

前 端 工 具

中下级别经理和业务人员

固定报表读者

需要阅读数据仓库定时或按条件产生的固定报表

固定查询、产生报表

固定报表工具

信息浏览者

根据不同的业务需求,通过建立简单的查询,进行分析,产生动态报表

自查询、动态报表

即席查询及报表工具

高层决策者

EIS使用者

根据不同的业务需求,通过EIS方式进行分析

根据需要进行趋势分析、对比分析、排名分析、意外分析

利用各种软件开发的EIS、OLAP分析工具

数据分析专家

数据分析用户

根据不同的业务要求,建立自己的数据模型进行 随机查询

通过多维分析,进行各种高级查询和报表

多维分析、趋势分析、对比分析、排名分析、意外分析、原因影响分析、假设分析(What if)

随机查询及报表工具、OLAP分析工具


(续表)


用 户 类 型

角    色

需    求

分 析 方 法

前 端 工 具

 

数据挖掘用户

根据现有的数据情况,动态构建或修改模型,进行预测分析、数据挖掘等深层次操作

统计分析(预测、假设检验等)

数据挖掘(估计、预测、分类、聚类分析等)

OLAP分析工具、数据挖掘工具


2.即席查询和报表

即席查询(Adhoc Query)和报表是商业智能系统,提供给业务人员最基本的信息访问能力,以满足他们日常报表和随时获取业务信息的需要。不同的业务人员,如销售、市场、财务等人员有着自己独特的分析要求,且这种要求需根据业务的需要不断变化。在传统的技术条件下,由于种种理由,业务人员实质上不能直接接触到存储在计算机内的数据,如果业务人员需要对一段时间的业务汇总数据,往往只能提出要求,由IT人员编写相应的程序把数据库中的数据读出来生成报表,再通过批处理打印的方法将结果交给业务人员,这种方法已经逐渐不能满足业务人员对动态、及时及个性化信息的要求。同时,这种对IT人员过多的依赖会消耗太多的IT资源,增加了管理和运作的成本。因此必须在IT与业务用户之间正确地划分权限,既能方便用户自助查询,又能保证IT的统一管理的即席查询和报表功能是商业智能系统必须具备的功能,如图16-10所示。

图16-10  著名的即席查询和报表工具Brio Query 的查询请求界面

用户界面的友好性一直以来都是商业智能的前端工具的一个着重点,用户可通过简单的鼠标单击、拖拉等操作就可以完成复杂的查询功能,可以在一个文档中包含来自多个数据源的数据,可以完成各种统计、排序、分组、计算工作,可以通过限制字段的值对结果进行过滤,可以通过高亮度显示突出特殊的结果集。而在传统的方式下,构造复杂的SQL查询语句、各种复杂的统计和处理、结果的输出等都需要编写大量程序代码来实现,而报表用户任何轻微的改动都会给IT人员带来的繁复的编程工作。

可以说引入这些为最终用户设计的数据查询和报表工具,一方面让最终用户真正拥有了自由查询自己需要信息的能力,另一方面,把信息的查询直接还给最终用户,IT人员就可以把更多的精力放在为满足大的业务需求的数据后台整合工作上,对于IT人员和业务人员来说是双重的解放。

即席查询和报表工具是集成查询和报表的解决方案,具有易于使用和二次开发的特点。

3.OLAP分析

OLAP分析,又称多维分析,使分析人员能够从多个角度对从原始数据中转化出来的、能够真正为用户所理解的信息进行快速、一致、交互地存取,从而获得对数据的更深入了解的一类软件技术。OLAP也可以简单定义成使用户能够以多维视图分析数据的工具。

管理人员往往希望从不同的角度来审视业务情况,比如从时间、地域、产品、客户等来看收入、利润、支出等业务统计数字。每一个分析的角度可以叫做一个维,因此,我们把多角度分析方式称为多维分析。以前,每一个分析的角度需要制作一张报表。在线多维分析工具的主要功能,是根据用户常用的多种分析角度,事先计算好一些辅助结构,以便在查询时能尽快访问到所要的汇总数字,并快速地从一维转变到另一维,将不同角度的信息以数字、直方图、饼图、曲线等方式展现在用户面前,如图16-11所示。

图16-11  信贷分析模型

如图16-12所示直观地表示了贷款分析模型,所能实现的所有的分析角度(维度)和层次(粒度)。

维度

 

贷 款 银 行

区    域

贷 款 质 量

商业银行总行

正常/不良

季度

省级分行

五级分类

市分行

 

 

粒度

度量指标(事实):授信金额、贷款余额

图16-12  贷款分析的角度和层次

很明显,这个简单的模型已经可以实现8×8×4×4 = 1024 种不同角度不同层次对授信金额和贷款余额的统计分析了。

4.切片和切块(Slice and Dice)

在多维数据结构中,按二维进行切片,按三维进行切块,可得到所需要的数据。如在“贷款银行、贷款质量、时间”三维立方体中进行切块和切片,可得到各贷款银行、各种贷款的统计情况。每次都是沿其中一维进行分割称为分片,每次沿多维进行的分片称为分块,如图16-13、图16-14所示。

图16-13  切片一:2004年4月份所有贷款情况

图16-14  切片二:所有不良贷款情况

5.钻取(Drill)

钻取包含向下钻取(Drill-down)和向上钻取(Drill-up)/上卷(Roll-up)操作, 钻取的深度与维所划分的层次相对应,如图16-15所示。

图16-15  钻取示意图

6.旋转(Rotate)/转轴(Pivot)

通过旋转可以得到不同视角的数据,如图16-16所示。

图16-16  旋转示意图

7.领导信息系统(EIS,Executive Information System)

领导信息系统(EIS)是针对管理人员的需要,整合上述各种功能控制的前端应用。通过EIS,将管理人员所需的决策信息按需集成到统一的界面中,帮助他们能够快速、直接地访问信息。与其他信息查询方式相比,EIS更强调与用户的交互能力,除了以多种形式展示数据内容外,EIS还以下拉列表、按钮、选项、图标等多种屏幕控件响应用户的操作,并能通过对界面的美工增强对用户的亲和力,如图16-17所示。

图16-17  信贷分析的EIS示例

16.2.8  数据挖掘

数据挖掘(Data Mining)是采用数学、统计、人工智能和神经网络等领域的科学方法,从大量数据中挖掘出隐含的、先前未知的、对决策有潜在价值的关系、模式和趋势,并用这些知识和规则建立用于决策支持的模型,为商业智能系统服务的各业务领域提供预测性决策支持的方法、工具和过程。

数据挖掘前身是知识发现(KDD),属于机器学习的范畴,所用技术和工具主要有统计分析(或数据分析)和知识发现。知识发现与数据挖掘是人工智能、机器学习与数据库技术相结合的产物,是从数据中发现有用知识的整个过程。机器学习(Machine  Learning)是用计算机模拟人类学习的一门科学,由于在专家系统开发中存在知识获取的瓶颈现象,所以采用机器学习来完成知识的自动获取。

数据挖掘是KDD过程中的一个特定步骤,它用专门算法从数据中抽取模式(Patterns)。1996年,Fayyad、Piatetsky-Shapiror和Smyth将KDD过程定义为:从数据中鉴别出有效模式的非平凡过程,该模式是新的、可能有用的和最终可理解的;KDD是从大量数据中提取出可信的、新颖的、有效的,并能被人理解的模式的处理过程,这种处理过程是一种高级的处理过程。数据挖掘则是按照既定的业务目标,对大量的企业数据进行探索,揭示隐藏其中的规律性,并进一步将其设计为先进的模型和有效的操作。

在日常的数据库操作中,经常使用的是从数据库中抽取数据以生成一定格式的报表。KDD与数据库报表工具的区别是:数据库报表制作工具是将数据库中的某些数据抽取出来,经过一些数学运算,最终以特定的格式呈现给用户;而KDD则是对数据背后隐藏的特征和趋势进行分析,最终给出关于数据的总体特征和发展趋势。报表工具能制作出形如“上学期考试未通过及成绩优秀的学生的有关情况”的表格;但它不能回答“考试未通过及成绩优秀的学生在某些方面有些什么不同的特征”的问题,而KDD就可以回答。

具体来说,数据挖掘针对商业智能系统的大量的数据,运用记忆推理、聚类分析、关联分析、决策树、神经网络、基因算法等技术,对商业智能系统数据进行描述,以发现数据中隐藏的模式,并通过这些模式建立面向主题的预测模型,再用这些模型来为商业智能系统运营的各个领域提供决策支持。

1.数据挖掘和知识发现系统的一般结构和过程

数据挖掘和知识发现系统用于发现预先不具有的知识(即那些算法中没隐含的知识,或者在其应用知识领域中没显式表示的知识)。知识是一种描述规律的信息,表现为数据元素间的关系或模式,这些数据与特定的领域和任务相关,并且是令人感兴趣的和有用的。系统的逻辑结构图如图16-18所示。

 

图16-18  数据挖掘系统逻辑结构图

l        1)知识发现系统管理器

主要功能是控制并管理知识发现的过程,分析员录入知识库中的信息用于驱动数据选择过程、抽取算法选择及使用过程和发现评价过程。

l        2)知识库和分析员录入

知识库包含源多方面必需的信息。分析员可以将元数据输入数据仓库中来描述数据仓库的数据结构,输入关键数据字段、规则、数据层次等。

l        3)数据仓库的数据访问接口

知识发现系统利用数据库的查询机制从数据仓库中提取数据,可使用SQL查询语言,结合知识库中的数据仓库元数据指导从数据仓库中提取需要的数据。

l        4)数据选择

确定从数据仓库需要抽取的数据及数据结构。知识库指导选取要抽取的数据及抽取方式。

l        5)知识发现引擎

将知识库中的抽取算法提供给数据抽取的数据,目的是要抽取数据元素间的模式和关系。抽取算法如:数据依赖、分类规则、聚簇、概括数据、偏差检查、归纳和模糊推理等。

l        6)发现评价

分析员要寻找关注性的数据模式,数据仓库潜在地具有宿主模式,选出那些关注性信息。

l        7)发现描述

提供两种功能,一种是以发现评价辅助分析员在知识库中保存所发现的关注性结果以备将来引用和使用,另一种是保持发现与决策者的通信。

l        8)KDD的一般过程

l         学习某个应用领域:包括应用中的预先知识和目标。

l         建立一个目标数据集:选择一个数据集或在多数据集的子集上聚焦。

l         数据清理和预处理:去除噪声或无关数据、考虑时间顺序和数据变化等。

l         数据换算和投影:找到数据的特征表示、用维变换或转换方法减少有效变量的数目或找到数据的不变式。

l         选定数据挖掘功能:决定数据挖掘的目的。

l         选定某个数据挖掘算法:用KDD过程中的准则,选择某个特定数据挖掘算法(如汇总、分类、回归、聚类等),用于搜索数据中的模式,该算法可以是近似的。

l         数据挖掘:搜索或产生一个特定的感兴趣的模式或数据集。

l         解释:解释某个发现的模式,去掉多余的不切题意的模式,转换成某个有用的模式,以使用户明白。

l         发现知识:把这些知识结合到运行系统中,获得这些知识的作用或证明这些知识,用预先、可信的知识检查和解决知识中可能的矛盾。

2.数据挖掘的方法和技术

知识发现中的关键技术是进行模式和关系识别的算法。下面介绍几种数据挖掘和知识发现的方法和技术,它们分别从不同的角度进行数据挖掘和知识发现。

l        1)决策树方法

利用信息论中的互信息(信息增益)寻找数据库中具有最大信息量的字段,建立决策树的一个节点,再根据字段的不同取值建立树的分支;在每个分支子集中重复建树的下层节点和分支的过程,即可建立决策树。国际上最有影响和最早的决策树方法是Quiulan研制的ID3方法,它对越大的数据库效果越好。在ID3方法的基础上,又演化为能处理连续属性的 C4.5。有名的决策树方法还有CART和Assistant。

决策树构造的输入是一组带有类别标记的例子,构造的结果是一棵二叉或多叉树。二叉树的内部节点(非叶子节点)一般表示为一个逻辑判断,如形式为(ai = vi )的逻辑判断。其中ai 是属性,vi是该属性的某个属性值;树的边是逻辑判断的分支结果。多叉树(ID3)的内部节点是属性,边是该属性的所有取值,有几个属性值,就有几条边。树的叶子节点都是类别标记。构造决策树的方法是采用自上而下的递归构造。以多叉树为例,它的构造思路是,如果训练例子集合中的所有例子是同类的,则将其作为叶子节点,节点内容即是该类别标记。否则,根据某种策略选择一个属性,按照属性的各个取值,把例子集合划分为若干子集合,使得每个子集上的所有例子在该属性上具有同样的属性值。然后再依次递归处理各个子集。这种思路实际上就是“分而治之”(Divide-and-Conquer)的道理。二叉树同理,差别仅在于要选择一个好的逻辑判断。

l        2)分类方法

分类在数据挖掘中是一项非常重要的任务。该算法将数据按含义划分成组,可用此算法生成感兴趣的侧面,可用于自动发现类,如模式识别、侧面生成、线性聚簇和概念聚簇等。分类的目的是学会一个分类函数或分类模型(也称做分类器),该模型能把数据库中的数据项映射到给定类别中的某一个。分类和回归都可用于预测。预测的目的是,从利用历史数据记录中自动推导出对给定数据的推广描述,从而能对未来数据进行预测。与回归方法不同的是,分类的输出是离散的类别值,而回归的输出则是连续数值,如图16-19所示为分类方法示例。

图16-19  分类方法示例

要构造分类器,需要有一个训练样本数据集作为输入。训练集由一组数据库记录或元组构成,每个元组是一个由有关字段(又称属性或特征)值组成的特征向量,除了这些外,训练样本还有一个类别标记。一个具体样本的形式可为:( v1, v2, ..., vn; c );其中vi表示字段值,c表示类别。分类器的构造方法有统计方法、机器学习方法、神经网络方法等。统计方法包括贝叶斯法和非参数法(近邻学习或基于事例的学习:Instance-based learning, IBL),对应的知识表示则为判别函数和原型事例。机器学习方法包括决策树法和规则归纳法,前者对应地表示为决策树或判别树,后者则有两种:决策表(Decision List)和(平行)产生式规则。神经网络方法主要是BP算法,它的模型表示是前向反馈神经网络模型(由代表神经元的节点和代表连接权值的边组成的一种体系结构),BP算法本质上是一种非线性判别函数。

l        3)粗糙集方法

粗糙集(Rough Set)的研究主要基于分类。分类和概念(concept)同义,一种类别对应于一个概念(类别一般表示为外延即集合,而概念常以内涵的形式表示,如规则描述)。知识由概念组成,如果某知识中含有不精确概念,则该知识不精确。粗糙集对不精确概念的描述方法是:通过上近似概念和下近似概念这两个精确概念来表示。一个概念(或集合)的下近似(Lower Approximation)概念(或集合)指的是,其下近似中的元素肯定属于该概念;一个概念(或集合)的上近似(upper approximation)概念(或集合)指的是,其上近似中的元素可能属于该概念。在数据库中,将行元素看成对象,列元素看成属性(分为条件属性和决策属性)。等价关系R定义为不同对象在某个(或几个)属性上取值相同,这些满足等价关系的对象组成的集合称为该等价关系R的等价类。条件属性上的等价类E 与决策属性上的等价类Y之间有3种情况:(1)下近似:Y包含E;(2)上近似:Y和E的交非空;(3)无关:Y和E的交为空。对下近似建立确定性规则,对上近似建立不确定性规则(含可信度),对无关情况不存在规则。

粗糙集方法为KDD提供了一种新的方法和工具。第一,KDD 研究的实施对象多为关系型数据库。关系表可被看做为粗糙集理论中的决策表,这给粗糙集方法的应用带来极大的方便。第二,现实世界中的规则有确定性的,也有不确定性的,从数据库中发现不确定性的知识,为粗糙集方法提供了用武之地。第三,从数据中发现异常,排除知识发现过程中的噪声干扰也是粗糙集方法的特长。第四,运用粗糙集方法得到的知识发现算法有利于并行执行,这可极大地提高发现效率。对于大规模数据库中的知识发现来说,这正是求之不得的。第五,KDD中采用的其他技术,如神经网络的方法,不能自动地选择合适的属性集,而利用粗糙集方法进行预处理,去掉多余属性,可提高发现效率,降低错误率。第六,粗糙集方法比模糊集方法或神经网络方法在得到的决策规则和推理过程方面更易于被证实和检测。

l        4)神经网络方法

神经网络通过学习待分析数据中的模式来构造模型,它可对隐式类型进行分析,适用于模型化非线性的、复杂的或高噪声的数据。它模拟人脑神经元结构,由“神经元”互联,或按层组织的节点构成。通常,神经模型由3个层次组成:输入层、中间层和输出层。每个神经元求得输入值,再计算总输入值,由过滤机制(如阀值)比较总输入,然后确定它自己的输出值。可通过连接一组神经元来模型化复杂行为。当修改连接层的“连接度”或参数时,神经网络就进行了学习或“训练”。神经网络的知识体现在网络连接的权值上,是一个分布式矩阵结构;神经网络的学习体现在神经网络权值的逐步计算上(包括反复迭代或累加计算)。以MP模型和Hebb学习规则为基础,建立了3大类多种神经网络模型。①前馈式网络:它以感知机、反向传播模型、函数型网络为代表,可用于预测、模式识别等方面。②反馈式网络:它以Hopfield的离散模型和连续模型为代表,分别用于联想记忆和优化计算。③自组织网络:它以ART模型、Koholon模型为代表,用于聚类。

神经网络可按管理模式或非管理模式来学习,在管理模式中,神经网络要预测现有示例可能带来的结果,它将预测结果与目标答案相比较并从错误中进行学习。管理模式的神经网络可用于预测、分类和时间序列模型。非管理模式的学习在描述数据时很有效,但却不用于预测结果。非管理模式的神经网络创建自己的类描述、合法性验证和操作,它与数据模式无关。

l        5)关联规则

关联规则是形式如下的一种规则:“在购买面包和黄油的顾客中,有90%的人同时买了牛奶”(面包+黄油 => 牛奶)。用于关联规则发现的主要对象是事务型数据,其中针对的应用则是售货数据,也称货篮数据。一个事务一般由如下几个部分组成:事务处理时间,一组顾客购买的物品,有时也有顾客标识号。关联规则就是指搜索业务系统中的所有细节和事务,从中找出重复出现概率很高的模式,它以大的事务数据库为基础,其中每个事务都被定义为一系列相关数据项。用关联找出所有能把一组事件或数据项与另一套事件或数据项联系起来的规则。对关系数据集可以使用这种处理,此类数据是用标准SQL谓词逻辑定义的。关联算法的目的是成为SQL的扩充,这样这种算法就可以通过规范的查询技术应用于受限的关系数据集。这些算法必须有高度的适应性和动态性。为了找到关系模式,要查看的数据集会有所变化,关联发生的最小百分比规则会发生变化。

l        6)概念树方法

对数据库中记录的属性字段按归类方式进行抽象,建立起来的层次结构称为概念树。如“型号”概念树的最下层是具体武器装备(如54、59式100高射炮等),它的直接上层是装备小类(如、高射炮等),装备小类的直接上层是装备大类(如轻武器、火炮等),再上层是军械装备。利用概念树提升的方法可以大大浓缩数据库中的记录。对多个属性字段的概念树进行提升,将得到高度概括的知识基表,然后再将它转换成规则。

l        7)遗传算法

它是模拟生物进化过程的算法,由3个基本算子组成。①繁殖(选择):是从一个旧种群(父代)选出生命力强的个体,产生新种群(后代)的过程。②交叉(重组):选择两个不同个体(染色体)的部分(基因)进行交换,形成新个体。③变异(突变):对某些个体的某些基因进行变异(1变0、0变1)。这种遗传算法可起到产生优良后代的作用。这些后代需满足适应值,经过若干代的遗传,将得到满足要求的后代(问题的解)。遗传算法已在优化计算和分类机器学习方面发挥了显著作用。

l        8)依赖性分析

该算法在数据仓库的条目或对象间抽取依赖性,它展示了数据间未知的依赖关系,并有可能描述成关注性数据项间的因果关系,可以用该分析方法从某一数据对象的信息来推断另一数据对象的信息,依赖性是一个带有置信度因子的可能值。

l        9)公式发现

在工程和科学数据库(由试验数据组成)中,对若干数据项(变量)进行一定的数学运算,求得相应的数学公式。比较典型的BACON发现系统完成了对物理学中大量定律的重新发现。其基本思想是,对数据项进行初等数学运算(加、减、乘、除等),形成组合数据项,若它的值为常数项,就得到了组合数据项等于常数的公式。

l        10)统计分析方法

在数据库字段项之间存在两种关系。①函数关系(能用函数公式表示的确定性关系);②相关关系(不能用函数公式表示,但仍是相关确定关系)。对它们的分析采用如下方法,即回归分析、相关分析、主成分分析。

l        11)模糊论方法

利用模糊集合理论对实际问题进行模糊评判、模糊决策、模糊模式识别和模糊聚类分析。模糊性是客观存在的。系统的复杂性越高,精确化能力就越低,即模糊性越强。这是模糊理论创始人Zadeh 总结出的互克性原理。

l        12)可视化技术

可视化分析可给出带有多变量的图形化分析数据,帮助分析员进行分析,它可使分析员同时显示多个变量间的关系。可视化数据分析技术拓宽了传统的图表功能,使用户对数据的剖析更清楚。例如,把数据库中的多维数据变成多种图形,这对揭示数据的状况、内在本质及规律性起了很大作用。

16.2.9  信息门户

数据仓库的信息和前端应用的多样性带来了使用的复杂性,如果不把多种多样的应用界面做一个良好的整合,必然由于操作繁杂令用户产生畏惧心理,因此限制了商业智能的推广和应用效果,企业信息门户为使数据仓库的使用者可以根据自己的需要获得想要的信息,需要从界面、应用系统交互等角度进行门户的建设规划,如果将这些功能模型进行抽象,可以归结为以下的功能层次。

l         集成:包括3个层次的集成,即信息的集成、人的集成、流程的集成。即将现有及待建的各种信息资源通过多种技术手段实现整合,形成一个整体的企业信息资源集成平台,并向外提供标准的信息访问接口。

l         内容管理:对现有信息实现统一的目录分类管理(Categorization)。包括结构化数据和非结构化信息的分类、编目、摘要、审核和发布。

l         搜索:分类和搜索是组织和获取信息的紧密联系的两个方面。

l         以人为本的核心安全架构:支持统一面向自然人的用户身份认证(Authentication),统一用户的访问权限控制(Authorization)和统一用户资源管理(Administration),实现单次登录就可以访问所有相关信息资源也是门户的一个重要功能。

l         个性化:即信息门户的数据和应用可以根据每一个人的要求来配置,为用户提供个性化的应用界面,提高了员工的工作效率,增强了对用户的亲和力和吸引力。

l         可访问性:在门户中,用户可以在安全机制的保护下,在任何时间任何地点方便地访问企业的信息和应用,完成对信息和数据的处理和提交,保证企业的业务运转永不停顿。

l         协作与共享受:提供同事间、部门间、企业间、客户和厂商间的协作和交互。

l         管理和调度:可以实现日常性的信息采集和分送的调度和管理维护。

如图16-20所示是一个银行信息门户的界面,在该基于浏览器的用户界面内,集成了银行领导日常工作中的公文批阅、紧急事件通知、业务数据查询、业务报表等内容,并结合商业智能技术,实现信息多层次分析挖掘等功能的OLAP分析界面,关键性的信息以直观的仪表板的方式提供,大大地提高了行长决策工作的效率和深度广度。这个门户集成了商业智能应用,也集成了包括传统的OA系统、信贷管理系统等业务处理系统,另外还提供了信息的多种检索功能等。这些信息资源原本存在于不同技术平台、不同结构、互不共享的业务系统。

在实施信息门户之前,该行的员工访问业务信息,要在不同的业务系统的操作界面中之间来回切换,甚至穿梭于各个不同操作系统的平台之间。而门户实施后,便把员工日常需要的各个应用和信息集中展现在员工的桌面。只要在统一的信息访问入口进行一次登录的身份验证,便可“一览众山小”地将一天的工作和需要了解的信息掌握,真正地实现信息一站式服务。

图16-20  某银行信息门户界面