BI 及其相关技术概览

什么是BI?   商业智能也称作BI,是英文单词Business Intelligence的缩写。商业智能的概念最早在1996年提出。当时将商业智能定义为一类由数据仓库(或数据集市)、查询报表、数据分析、数据挖掘、数据备份和恢复等部分组成的、以帮助企业决策为目的技术及其应用。目前,商业智能通常被理解为将企业中现有的数据转化为知识,帮助企业做出明智的业务经营决策的工具。这里所谈的数据包括来自企业业务系统的订单、库存、交易账目、客户和供应商等来自企业所处行业和竞争对手的数据以及来自企业所处的其他外部环境中的各种数据。而商业智能能够辅助的业务经营决策既可以是操作层的,也可以是战术层和战略层的决策。为了将数据转化为知识,需要利用数据仓库、联机分析处理(OLAP)工具和数据挖掘等技术。因此,从技术层面上讲,商业智能不是什么新技术,它只是数据仓库、OLAP和数据挖掘等技术的综合运用。 图 1 商务智能的发展   因此,把商业智能看成是一种解决方案应该比较恰当。商业智能的关键是从许多来自不同的企业运作系统的数据中提取出有用的数据并进行清理,以保证数据的正确性,然后经过抽取(Extraction)、转换(Transformation)和装载(Load),即ETL过程,合并到一个企业级的数据仓库里,从而得到企业数据的一个全局视图,在此基础上利用合适的查询和分析工具、数据挖掘工具、OLAP工具等对其进行分析和处理(这时信息变为辅助决策的知识),最后将知识呈现给管理者,为管理者的决策过程提供支持。 图 2 商务智能的原理 商务智能成信息化热点>> BI的体系架构及相关技术 ...更多内容>>   一个BI系统为了满足企业管理者的要求,从浩如烟海的资料中找出其关心的数据,必须要做到以下几步:   1)为了整合各种格式的数据,清除原有数据中的错误记录——数据预处理的要求。   2)对预处理过数据,应该统一集中起来——元数据(Meta Data)、数据仓库(Data Warehouse)的要求;   3)最后,对于集中起来的庞大的数据集,还应进行相应的专业统计,从中发掘出对企业决策有价值的新的机会——OLAP(联机事务分析)和数据挖掘(Data Mining)的要求。   所以,一个典型的BI体系架构应该包含这3步所涉及的相关要求。 图 3 BI的体系架构   整个体系架构中包括:终端用户查询和报告工具、OLAP工具、数据挖掘(Data Mining)软件、数据仓库(Data Warehouse)和数据集市(Data Mart)产品、联机分析处理 (OLAP) 等工具。   1)、终端用户查询和报告工具。   专门用来支持初级用户的原始数据访问,不包括适应于专业人士的成品报告生成工具。   2)、数据预处理(STL-数据抽取、转换、装载)   从许多来自不同的企业运作系统的数据中提取出有用的数据并进行清理,以保证数据的正确性,然后经过抽取(Extraction)、转换(Transformation)和装载(Load),即ETL过程,合并到一个企业级的数据仓库里,从而得到企业数据的一个全局视图。   3)、OLAP工具。   提供多维数据管理环境,其典型的应用是对商业问题的建模与商业数据分析。OLAP也被称为多维分析。   4)、数据挖掘(Data Mining)软件。   使用诸如神经网络、规则归纳等技术,用来发现数据之间的关系,做出基于数据的推断。   5)、数据仓库(Data Warehouse)和数据集市(Data Mart)产品。   包括数据转换、管理和存取等方面的预配置软件,通常还包括一些业务模型,如财务分析模型。   6)、联机分析处理 (OLAP) 。   OLAP是使分析人员、管理人员或执行人员能够从多角度对信息进行快速、一致、交互地存取,从而获得对数据的更深入了解的一类软件技术。   其中核心技术在于数据预处理、数据仓库的建立(DW)、数据挖掘(DM)和联机分析处理(OLAP)三个部分。接下来,我们对这几个核心部分进行详细说明: 数据预处理:   当早期大型的在线事务处理系统(OLTP)问世后不久,就出现了一种用于“抽取”处理的简单程序,其作用是搜索整个文件和数据库,使用某些标准选择合乎要求的数据,将其复制拷贝出来,用于总体分析。因为这样做不会影响正在使用的在线事务处理系统,降低其性能,同时,用户可以自行控制抽取出来的数据。但是,现在情况发生了巨大的变化,企业同时采用了多个在线事务处理系统,而这些系统之间的数据定义格式不尽相同,即使采用同一软件厂商提供的不同软件产品,或者仅仅是产品版本不同,之间的数据定义格式也有少许差距。由此,我们必须先定义一个统一的数据格式,然后把各个来源的数据按新的统一的格式进行转换,然后集中装载入数据仓库中。   其中,尤其要注意的一点时,并不是各个来源的不同格式的所有数据都能被新的统一格式包容,我们也不应强求非要把所有数据源的数据全部集中起来。Why?原因很多。有可能原来录入的数据中,少量的记录使用了错误的数据,这类数据如果无法校正,应该被舍去。某些数据记录是非结构化的,很难将其转化成新定义的统一格式,而且从中抽取信息必须读取整个文件,效率极低,如大容量的二进制数据文件,多媒体文件等,这类数据如果对企业决策不大,可以舍去。   目前已有一部分软件厂商开发出专门的ETL工具,其中包括:   Ardent DataStage   Evolutionary Technologies,Inc. (ETI) Extract     Information Powermart     Sagent Solution     SAS Institute     Oracle Warehouse Builder     MSSQL Server2000 DTS 数据仓库:   数据仓库概念是由号称“数据仓库之父”William H.Inmon在上世纪80年代中期撰写的《建立数据仓库》一书中首次提出,“数据仓库是一个面向主题的、集成的、非易失性的,随时间变化的用来支持管理人员决策的数据集合”。   面向主题是数据仓库第一个显著特点,就是指在数据仓库中,数据按照不同的主题进行组织,每一个主题中的数据都是从各操作数据库中抽取出来汇集而成,这些与该主题相关的所有历史数据就形成了相应的主题域。   数据仓库的第二个显著特点是集成。数据来源于不同的数据源,通过相应的规则进行一致性转换,最终集成为一体。   数据仓库的第三个特点是非易失性。一旦数据被加载到数据仓库中,数据的值不会再发生变化,尽管运行系统中对数据进行增、删、改等操作,但对这些数据的操作将会作为新的快照记录到数据仓库中,从而不会影响到已经进入到数据仓库的数据。   数据仓库最后一个特点是它随时间变化。数据仓库中每一个数据都是在特定时间的记录,每个记录都有着相应的时间戳。 图 4 数据仓库体系架构   数据仓库对外部数据源和操作型数据源的元数据,按照数据仓库模式设计要求进行归类,并建成元数据库,相对应的数据经过ETL后加载到数据仓库中;当信息客户需要查询数据时先通过信息展现系统了解元数据或者直接浏览元数据库,再发起数据查询请求得到所需数据。   一个典型的企业数据仓库系统,通常包含数据源、数据存储与管理、数据的访问三个部分。 图 5 数据仓库系统   数据源:是指企业操作型数据库中的各种生产运营数据、办公管理数据等内部数据和一些调查数据、市场信息等来自外环境的数据总称。这些数据是构建数据仓库系统的基础是整个系统的数据源泉。   数据的存储与管理:数据仓库的存储主要由元数据的存储及数据的存储两部分组成。元数据是关于数据的数据,其内容主要包括数据仓库的数据字典、数据的定义、数据的抽取规则、数据的转换规则、数据加载频率等信息。各操作数据库中的数据按照元数据库中定义的规则,经过抽取、清理、转换、集成,按照主题重新组织,依照相应的存储结构进行存储。也可以面向应用建立一些数据集市,数据集市可以看作是数据仓库的一个子集,它含有较少的主题域且历史时间更短数据量更少,一般只能为某个局部范围内的管理人员服务,因此也称之为部门级数据仓库。   数据的访问:由OLAP(联机分析处理)、数据挖掘、统计报表、即席查询等几部分组成。例如OLAP:针对特定的分析主题,设计多种可能的观察形式,设计相应的分析主题结构(即进行事实表和维表的设计),使管理决策人员在多维数据模型的基础上进行快速、稳定和交互性的访问,并进行各种复杂的分析和预测工作。按照存储方式来分,OLAP可以分成MOLAP以及ROLAP等方式,MOLAP (Multi-Dimension OLAP)将OLAP分析所需的数据存放在多维数据库中。分析主题的数据可以形成一个或多个多维立方体。ROLAP (Relational OLAP)将OLAP分析所需的数据存放在关系型数据库中。分析主题的数据以“事实表-维表”的星型模式组织。 数据挖掘:   数据挖掘的定义非常模糊,对它的定义取决于定义者的观点和背景。如下是一些DM文献中的定义: 数据挖掘是一个确定数据中有效的,新的,可能有用的并且最终能被理解的模式的重要过程。   数据挖掘是一个从大型数据库中提取以前未知的,可理解的,可执行的信息并用它来进行关键的商业决策的过程。   数据挖掘是用在知识发现过程,来辩识存在于数据中的未知关系和模式的一些方法。数据挖掘是发现数据中有益模式的过程。   数据挖掘是我们为那些未知的信息模式而研究大型数据集的一个决策支持过程。   虽然数据挖掘的这些定义有点不可触摸,但在目前它已经成为一种商业事业。如同在过去的历次淘金热中一样,目标是`开发矿工`。利润最大的是卖工具给矿工,而不是干实际的开发。   目前业内已有很多成熟的数据挖掘方法论,为实际应用提供了理想的指导模型。其中,标准化的主要有三个:CRISP-DM;PMML;OLE DB for DM。   CRISP-DM(Cross-Industry Standard Process for Data Mining)是目前公认的、较有影响的方法论之一。CRISP-DM强调,DM不单是数据的组织或者呈现,也不仅是数据分析和统计建模,而是一个从理解业务需求、寻求解决方案到接受实践检验的完整过程。CRISP-DM将整个挖掘过程分为以下六个阶段:商业理解(Business Understanding),数据理解(Data Understanding),数据准备(Data Preparation),建模(Modeling),评估(Evaluation)和发布(Deployment)。其框架图如下: 图 6  CRISP-DM模型框架图   从技术层来看,数据挖掘技术可分为描述型数据挖掘和预测型数据挖掘两种。描述型数据挖掘包括数据总结、聚类及关联分析等。预测型数据挖掘包括分类、回归及时间序列分析等。   1、数据总结:继承于数据分析中的统计分析。数据总结目的是对数据进行浓缩,给出它的紧凑描述。传统统计方法如求和值、平均值、方差值等都是有效方法。另外还可以用直方图、饼状图等图形方式表示这些值。广义上讲,多维分析也可以归入这一类。   2、聚类:是把整个数据库分成不同的群组。它的目的是使群与群之间差别很明显,而同一个群之间的数据尽量相似。这种方法通常用于客户细分。在开始细分之前不知道要把用户分成几类,因此通过聚类分析可以找出客户特性相似的群体,如客户消费特性相似或年龄特性相似等。在此基础上可以制定一些针对不同客户群体的营销方案。   3、关联分析:是寻找数据库中值的相关性。两种常用的技术是关联规则和序列模式。关联规则是寻找在同一个事件中出现的不同项的相关性;序列模式与此类似,寻找的是事件之间时间上的相关性,如对股票涨跌的分析等。   4、分类:目的是构造一个分类函数或分类模型(也常常称作分类器),该模型能把数据库中的数据项映射到给定类别中的某一个。要构造分类器,需要有一个训练样本数据集作为输入。训练集由一组数据库记录或元组构成,每个元组是一个由有关字段(又称属性或特征)值组成的特征向量,此外,训练样本还有一个类别标记。一个具体样本的形式可表示为:( v1, v2, ...,vn;c ),其中vi表示字段值,c表示类别。   5、回归:是通过具有已知值的变量来预测其它变量的值。一般情况下,回归采用的是线性回归、非线性回归这样的标准统计技术。一般同一个模型既可用于回归也可用于分类。常见的算法有逻辑回归、决策树、神经网络等。   6、时间序列:时间序列是用变量过去的值来预测未来的值。   数据挖掘(Data Mining)软件。使用诸如神经网络、规则归纳等技术,用来发现数据之间的关系,做出基于数据的推断。 图 7 数据挖掘系统   以下是一些当前的数据挖掘产品:   IBM: Intelligent Miner 智能矿工   Tandem: Relational Data Miner 关系数据矿工   AngossSoftware: KnowledgeSEEDER 知识搜索者   Thinking Machines Corporation: DarwinTM   NeoVista Software: ASIC   ISL Decision Systems,Inc.: Clementine   DataMind Corporation: DataMind Data Cruncher   Silicon Graphics: MineSet   California Scientific Software: BrainMaker   WizSoft Corporation: WizWhy   Lockheed Corporation: Recon   SAS Corporation: SAS Enterprise Miner 联机分析处理(OLAP):   OLAP的概念最早是由关系数据库之父E.F.Codd于1993年提出的,他同时提出了关于OLAP的12条准则。  OLAP的提出引起了很大的反响,OLAP作为一类产品同联机事务处理 (OLTP) 明显区分开来。   当今的数据处理大致可以分成两大类:联机事务处理OLTP(On-Line Transaction Processing)、联机分析处理OLAP(On-Line Analytical Processing)。OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。   OLAP是使分析人员、管理人员或执行人员能够从多角度对信息进行快速、一致、交互地存取,从而获得对数据的更深入了解的一类软件技术。OLAP的目标是满足决策支持或者满足在多维环境下特定的查询和报表需求,它的技术核心是"维"这个概念。   “维”是人们观察客观世界的角度,是一种高层次的类型划分。“维”一般包含着层次关系,这种层次关系有时会相当复杂。通过把一个实体的多项重要的属性定义为多个维(DImension),使用户能对不同维上的数据进行比较。因此OLAP也可以说是多维数据分析工具的集合。   OLAP的基本多维分析操作有钻取(Roll Up和Drill Down)、切片(Slice)和切块(Dice)、以及旋转(Pivot)、Drill Across、Drill Through等。   钻取是改变维的层次,变换分析的粒度。它包括向上钻取(Roll Up)和向下钻取(Drill Down)。Roll Up是在某一维上将低层次的细节数据概括到高层次的汇总数据,或者减少维数;而Drill Down则相反,它从汇总数据深入到细节数据进行观察或增加新维。   切片和切块是在一部分维上选定值后,关心度量数据在剩余维上的分布。如果剩余的维只有两个,则是切片;如果有三个,则是切块。   旋转是变换维的方向,即在表格中重新安排维的放置(例如行列互换)。   OLAP有多种实现方法,根据存储数据的方式不同可以分为ROLAP、MOLAP、HOLAP。   ROLAP表示基于关系数据库的OLAP实现(Relational OLAP)。以关系数据库为核心,以关系型结构进行多维数据的表示和存储。ROLAP将多维数据库的多维结构划分为两类表:一类是事实表,用来存储数据和维关键字;另一类是维表,即对每个维至少使用一个表来存放维的层次、成员类别等维的描述信息。维表和事实表通过主关键字和外关键字联系在一起,形成了“星型模式”。对于层次复杂的维,为避免冗余数据占用过大的存储空间,可以使用多个表来描述,这种星型模式的扩展称为“雪花模式”。   MOLAP表示基于多维数据组织的OLAP实现(Multidimensional OLAP)。以多维数据组织方式为核心,也就是说,MOLAP使用多维数组存储数据。多维数据在存储中将形成“立方块(Cube)”的结构,在MOLAP中对“立方块”的“旋转”、“切块”、“切片”是产生多维数据报表的主要技术。   HOLAP表示基于混合数据组织的OLAP实现(Hybrid OLAP)。如低层是关系型的,高层是多维矩阵型的。这种方式具有更好的灵活性。   还有其他的一些实现OLAP的方法,如提供一个专用的SQL Server,对某些存储模式(如星型、雪片型)提供对SQL查询的特殊支持。   OLAP工具是针对特定问题的联机数据访问与分析。它通过多维的方式对数据进行分析、查询和报表。维是人们观察数据的特定角度。例如,一个企业在考虑产品的销售情况时,通常从时间、地区和产品的不同角度来深入观察产品的销售情况。这里的时间、地区和产品就是维。而这些维的不同组合和所考察的度量指标构成的多维数组则是OLAP分析的基础,可形式化表示为(维1,维2,……,维n,度量指标),如(地区、时间、产品、销售额)。多维分析是指对以多维形式组织起来的数据采取切片(Slice)、切块(Dice)、钻取(Drill Down和Roll Up)、旋转(Pivot)等各种分析动作,以求剖析数据,使用户能从多个角度、多侧面地观察数据库中的数据,从而深入理解包含在数据中的信息。   根据综合性数据的组织方式的不同,目前常见的OLAP主要有基于多维数据库的MOLAP及基于关系数据库的ROLAP两种。MOLAP是以多维的方式组织和存储数据,ROLAP则利用现有的关系数据库技术来模拟多维数据。在数据仓库应用中,OLAP应用一般是数据仓库应用的前端工具,同时OLAP工具还可以同数据挖掘工具、统计分析工具配合使用,增强决策分析功能。 数据挖掘工具 数据仓库体系结构中存在三个关键问题,即数据仓库的目标数据库选择、数据抽取和转换工具及前端数据访问和分析工具。 一、数据仓库的组成部分 数据仓库技术从本质上讲,是一种信息集成技术,它从多个信息源中获取原始数据,经过加工处理后,存储在数据仓库的内部数据库中。通过向它提供访问工具,为数据仓库的用户提供统一、协调和集成的信息环境,支持企业全局的决策过程和对企业经营管理的深入综合分析。为了达到这样的目标,一个数据仓库一般来说包含以下7个主要组成部分: (1)数据源:为数据仓库提供源数据,如各种生产系统数据库、OLTP系统的操作性数据,外部数据源等到可以作为数据仓库的数据源。 (2)数据抽取、转换和装载工具:主要功能是从数据源中抽取数据后检验和整理数据,并根据数据仓库的设计要求重新组织和加工数据,装载到数据仓库的目标数据库中。 (3)数据建模工具:用于为数据仓库的原数据库和目标数据库建立信息模型。 (4)核心仓储:用于存储数据模型和原数据,其中元数据描述数据仓库中元数据和目标数据本身的信息,定义从原数据到目标数据的转换过程。 (5)数据仓库的目标数据库:存储经检验、整理、加工和重新组织后的数据。 (6)前端数据访问和分析工具:供业务人员分析和决策人员访问目标数据库中的数据,并进一步深入分析使用。 (7)数据仓库管理工具:为数据仓库的运行提供管理手段,包括安全管理和存储管理等。 数据仓库的体系结构如图1所示。 图1数据仓库体系结构 可以看到,在一个数据仓库中,源数据来源与已有的生产系统,是操作型数据。提供源数据的数据源可以是各种数据库管理系统,或各种格式的数据文件或外部数据源。由于数据仓库是一种信息集成手段,因此在实际工程中,面对的数据源可能千差万别。只要能够为数据仓库所支持的决策和分析过程提供所需的信息,就可能成为数据仓库的数据源。因此,数据仓库需要有相应的工具从数据源中抽取数据。 数据进入数据仓库之前必须经过检验,以排除数据中可能隐藏的错误。为了满足决策支持和深入分析的需要,数据要经过特别整理、加工和重新组织,然后装载到一个或多个数据仓库的数据库中。所有这些工作都是数据抽取和转换工具完成的,数据仓库中装载数据的数据库即为数据仓库中的目标数据库。为了描述数据检验、整理和加工的需求与相应过程及步骤,必须有数据建模工具(Modeling Tools)。 随着企业业务的发展,数据仓库管理人员可以通过使用数据建模工具,根据企业决策和综合分析的需要,对数据的检验、整理、加工和重新组织的过程进行调整和优化,而有关描述则以数据模型和元数据的形式存放在核心仓储中。在数据仓库的日常运行过程中,需要不断监控数据仓库的状态,包括系统资源的使用情况、用户操作的合法性和数据的安全性等多个方面。为此,在数据仓库系统中专门有数据仓库管理工具负责向数据仓库管理员提供有关的管理功能。为了使数据仓库用户能有效的使用数据仓库中的信息,以实现深层次的综合分析和决策。数据仓库系统要为用户提供一整套数据访问和分析工具,这些工具不但要提供一般的数据访问功能,如查询、汇总和统计等,还要提供对数据的深入分析功能,如数据的比较、趋势分析和模式识别等。而数据仓库的数据访问和分析要在一定程度上面向企业的业务需求,所提供的数据是在业务上有意义的信息,而不只是通用的数据查询和操作功能。 二、数据仓库体系结构中的关键问题 数据仓库系统中有3个关键环节,即源数据的抽取和转换、在目标数据库中存储转换后的数据和为用户提供对目标数据库的透明访问。与此相对应,在数据仓库的设计过程中必须注意3个关键的问题,即选择数据仓库的目标数据库、数据抽取和转换工具及前端数据访问和分析工具。 1 数据仓库的目标数据库 作为数据仓库的目标数据库,既可以选用传统的关系型数据库管理系统,也可以选用专用的多维数据库管理系统。对于许多企业来说,并不要求一定选用专用多维OLAP数据库,以支持数据仓库的功能。在许多情况下,可以使用传统的关系型数据库管理系统和企业熟悉的通用数据访问工具来建立数据仓库的目标数据库。目前在市场上可以获得的各个主要的关系数据库管理系统都提供单向的数据复制功能,并能迅速响应大量用户的联机并发查询访问。它们通过使用标准的SQL接口,与标准的数据库查询工具和客户机/服务器工具实现透明的接口,而且多家主要厂商的关系型数据库管理系统的最新产品还能提供复杂查询和分析功能,能作为兼顾操作型数据处理环境和数据仓库应用的数据库引擎。 在某些规模非常大的决策支持应用场合下,专用的多维数据库具有一定的优势。例如,如果要分析一个大型的多维数据库,以发现市场营销的趋势。在这样应用环境下,专用多维数据库由于对多维OLAP的特殊支持,以及在数据库内部紧密集成了如数据复制等支持数据仓库的特殊功能,因而具有一定的优势。一般认为,传统的关系型数据库管理系统在设计时优化的重点是考虑为OLTP应用提供高性能的支持,因而在决策支持应用环境中往往差强人意,而在专用的多维数据库管理系统中,往往针对为联机查询提供快速响应的需求,特别设计了跨平台的查询引擎,采用入数据分片、存储过程、对循环查询的支持和针对高性能数据仓库操作扩展SQL等技术,因此能在决策支持环境下获得较高的性能。现在,市场上已经出现了支持多维体系结构的OLAP专用数据仓库工具。 选择数据仓库的目标数据库是数据仓库工程的关键决策之一,它将影响数据仓库体系结构的诸多方面,因此,需要认真慎重考虑。传统的关系型数据库管理系统和专用的多维数据库管理系统各有利弊。美国著名的数据仓库工程专家Pieter R. Mimno先生认为,除非业务环境的确要求采用专用的数据库才能解决业务需求,或者需要采用专用的数据库管理系统才能达到业务所需要的性能指标,否则,从节省成本和降低复杂性的角度出发,一般情况下,应优先考虑采用传统的关系型数据库管理系统,这个中肯的意见值得我们在选择数据仓库的数据库时认真考虑。 2 数据抽取和转换工具 选定数据仓库的数据库后,如何选用合适的数据抽取和转换工具从数据源中抽取所需要的数据,根据业务需求,对数据进行转换,包括检验、整理、加工和重新组织的功能步骤后,存放到目标数据库中,是数据仓库体系结构设计时要考虑的又一个关键问题。 传统的关系型数据库管理系统支持多种数据复制模型,可以提供整个企业范围内复杂的数据库复制功能,从而满足正常情况下数据仓库对数据抽取功能的要求。这种系统支持一般的数据抽取、数据复制和一定程度上的数据重新组织、聚簇和汇总,但是如果数据源之间的数据存在逻辑上的不一致,需要额外的重新组织和转换加工,那么其功能显得不足。举例而言,传统的关系型数据库管理系统不能自动完成从主机的OLTP系统中抽取源数据,解决数据间的不一致造成的冲突,对数据进行重新组织后转换到目标数据库中的全部过程。因此,只有当源数据完全正确可靠、组织合理且没有任何不一致时,才能直接采用传统的关系型数据库管理系统中的数据复制功能完成数据抽取工作。然而在工程实践中,源数据组织不合理,包含冗余数据,数据在逻辑上冲突和数据定义冲突等问题十分常见,因此,有必要考虑采用特别的数据抽取和转换工具。 专门的数据抽取转换工具提供收集、转换和修订操作型数据的功能,并自动把转换后的数据装载到数据仓库指定的数据库中。目前,市场上已经有一些这样的工具。多个主要的传统关系型数据库管理系统厂商已经开发了其数据库产品与专门的数据抽取和转换工具之间的集成接口,以扩展其数据库产品的功能。因此,采用专用的数据抽取和转换工具十分方便。 一般说来,数据抽取和转换工具主要提供两个方面的功能。首先,这些工具都提供流行的基于视窗的图形用户接口,使得用户(数据仓库管理员)能方便的描述数据抽取和转换的需求。数据转换包括对数据进行匹配、归并、排序、创建新的数据域、选择数据子集、聚簇数据、转换操作型数据、在一个或多个数据库之间解决数据的语法、定义或格式的冲突等操作,其次,这些工具能自动创建运行在数据源所在平台上的程序,自动至此那个数据抽取、检验和重新组织等功能。用户可以为抽取程序加上转换逻辑。这些工具根据用户的输入建立有关元数据,其中描述了源数据和目标数据的格式,以及如何把源数据转换成目标数据。 综上所述,传统的关系型数据库管理系统也许不能全面满足对数据抽取和转换的功能需要,数据仓库体系结构设计人员可以根据具体的需要选择合适的数据抽取和转换工具,与数据库管理系统相结合,全面实施数据抽取和转换。 3 前端数据访问和分析工具 从数据源中抽取出相应的数据,经过检验、整理、加工和重新组织后存放到数据仓库的数据库中,下一步就是要考虑如何使用户(业务决策人员、各级管理人员和业务分析人员)能够方便灵活的使用数据仓库中存储的数据,达到数据仓库工程的预定目标。在数据仓库中,这是通过为用户提供一套前端数据访问和分析工具来实现的。目前市场上能获得的数据访问和分析工具种类繁多,主要有关系型查询工具、关系型数据的多维视图工具、DSS/EIS软件包和客户机/服务器工具等4大类。 (1)关系型查询工具 通用的关系型查询工具提供高度友好的用户接口,可以访问关系型数据。借助这样的工具,一般用户无需技术人员的协助,即可表述查询要求。查询结果能根据用户的需要,形成报表和示意图,这样的工具都支持标准的用户接口,并同时访问多个数据库服务器和数据库管理系统。 (2)关系型数据的多维视图工具 这类工具是为采用传统的关系型数据库管理系统作为数据仓库目标数据库的用户而设计的。通过使用这样的工具,虽然数据仓库的数据库是关系型的,但用户可以以多维的方式分析关系型数据。其最大的优点是不必采用专用的多维目标数据库管理系统即可达到多维分析的目的。这类工具具有多种具体的实现手段,一些工具并不在客户机一端形成局部数据库,而只是维护多维视图,另一些工具则从数据仓库中抽取所需的关系型数据子集,在客户机上通过一种称之为数据立方的多维结构方式加以局部存储,还有一些工具则更为先进,为了在关系型数据库上进行多维分析,实现了一个3层的软硬件结构。 (3)DSS/EIS软件包 DSS/EIS软件包是更为复杂的工具,用于复杂的多为数据分析,用其可直接提供面向业务的信息分析,如财务报表分析和合并财务报表分析、业务品种利润分析、企业负债分析和管理报表等。 (4)客户机/服务器工具 对于那些特定的不能直接采用现有工具和DSS/EIS软件包的业务需求,可以考虑使用通用的客户机/服务器工具开发前端的应用。通过使用这种工具,可以开发特定的功能,满足用户对图形界面、数据操作及数据分析报表等多方面的特殊需求。这些工具都能提供对数据的透明访问,简化对数据库的访问操作,支持多媒体应用,能够迅速构建前端决策支持应用系统,开发成本较低。使用这些工具开发的应用可以通过DDE和OLE接口与第三方产品实现透明连接,因此在开发前端工具的过程中,可以根据需要把很多现成产品连接到其中,如字处理系统和统计软件包等,这对于提供开发效率和系统质量是颇有裨益的。由于通用客户机/服务器工具应用广泛,用户众多,因此在开发客户化的数据访问和分析工具时,应积极考虑使用这样的工具。 面对众多的前端数据访问和分析工具,应该根据功能需求选择,要着眼于工具是否易于使用及功能是否可靠。一般来说,简单的关系型查询工具是和业务分析人员来透明的访问数据,而关系型数据的多维视图则能够提供多维分析的能力,业务专家可以使用DSS/EIS工具分析大量的历史数据,发现业务发展规律,预测未来发展趋势,当要实现特殊的功能时,可以考虑使用通用的客户机/服务器工具。 DSS分析预测工具 DSS和数据仓库的目标用户相同,都是面向企业的中高层领导,它们执行的都是决策和趋势分析类的应用。DSS中的一些技术可以很好的集成到数据仓库中,并使数据仓库的分析能力更加强大,例如,DSS中的传统统计分析模型可以帮助用户对数据仓库中的数据进行更加有效且更加深入的分析,从而更好的掌握和利用信息。而一些智能决策技术,如人工神经网络在顾客行为模式及预测金融市场行为等方面显示了强大的功能。这些DSS的核心技术在数据仓库中的应用不但会大大提高数据仓库的决策支持能力,同时也使DSS的应用范围更加广泛。 自20世纪70年代以来,DSS已经得到了很大的发展,它是在MIS(管理信息系统)基础上发展起来的。MIS是利用数据库技术实现各级管理者的管理业务,在计算机上进行各种事务处理工作,DSS则是要为各级管理者提供辅助决策的能力。 1980年Sprague 提出了DSS的三部件结构,即对话部件、数据部件(数据库DB和数据库管理系统DBMS)及模型部件(模型库MB和模型库管理系统MBMS)。该结构明确了DSS的组成,也间接的反映了DSS的关键技术,即模型库管理系统、部件接口和系统综合集成,他为DSS的发展起到了很大的推动作用。1981年Bonczak 等提出了DSS的3系统机构,即语言系统(LS)、问题处理系统(PPS)与知识系统(KS)。该结构在"问题处理系统"和"知识系统"上具有特色,并在一定范围内有其影响,但与人工智能的专家系统容易混淆。 DSS主要是以模型库系统为主题,通过定量分析进行辅助决策。其模型库中的模型已经由数据模型扩大到数据处理模型和图形模型等多种形式,可以概括为广义模型。DSS的本质是将多个广义模型有机结合起来,对数据库中的数据进行处理而形成决策问题的模型。DSS的辅助决策能力从运筹学、管理科学的淡漠行辅助决策发展到多模型综合决策,是辅助决策能力上了一个新的台阶。 20世纪80年代末90年代初,DSS与专家系统结合形成了IDSS(智能决策支持系统),专家系统是定性分析辅助决策,它和以定量分析辅助决策的DSS的结合,进一步提高了辅助决策能力。IDSS是DSS发展的一个新阶段。 一、 DSS和IDSS DSS的概念结构由会话系统、控制系统、运行及操作系统、数据库系统、模型库系统、规则库系统和用户共同组成,最简单和实用的是3库DSS逻辑结构(数据库、模型库和规则库)。DSS运行过程可以简单描述为:用户通过会话系统输入要解决的决策问题,会话系统把输入的问题信息传递给问题处理系统,然后,文体处理系统开始收集数据信息,并根据知识机中已有的知识判断和识别问题。如果出现问题,系统通过会话系统与用户进行交互对话,直到问题得到明确。然后系统开始搜寻问题解决的模型,通过计算推理的厨房按可行性的分析结果,最终将决策信息提供给用户。 DSS技术构成包括: (1)接口部分:输入输出的界面,是人机交互的窗口。 (2)模型管理部分:系统要根据用户提出的问题调出系统中已有的基本模型,模型管理部分应当具有存储、动态建模的功能。目前模型管理的实现通过模型库系统来完成。 (3)知识管理部分:集中管理决策问题领域的知识(规则和事实),包括知识的获取、表达及管理等功能。 (4)数据库部分:管理和存储与决策问题领域有关的数据。 (5)推理部分:识别并解答用户提出的问题,分为确定性推理和不确定性推理两大类。 (6)分析比较部分:对方案、模型和运行结果进行综合分析比较,得出用户最满意的方案。 (7)处理部分:根据交互式会话识别用户提出的问题,构造出求解问题的模型和方案,并匹配算法、变量和数据等运行求解系统。 (8)控制部分:连接协调系统各个部分,规定和控制各部分的运行程序,维护和保护系统 此外,DSS技术构成还包括咨询部分、模拟部分及优化部分等,其主要特点如下: (1)系统的使用面向决策者,在运用DSS的过程中,参与者都是决策者。 (2)系统解决问题是针对半结构化的决策问题,模型和方法的使用是确定的,但是决策者对问题的理解存在差异,系统使用有特定的环境,问题的条件也不确定和唯一,这是的决策结果具有不确定性。 (3)系统强调的是支持的概念,帮助加强决策者做出科学决策的能力。 (4)系统的驱动力来自模型和用户,人是系统运行的发起者,模型是系统完成各个环节转换的核心。 (5)系统运行强调交互式的处理方式,一个问题的决策要经过反复、大量且经常的人机对话。人的因素,如偏好、主观判断、能力、经验和价值观等对系统的决策结果有重要的影响。 IDSS系统是人工智能和DSS的结合,用用专家系统技术,使DSS能够更充分的应用人类的知识,如关于决策问题的描述性知识,决策过程中的过程性知识和求解问题的推理性知识等,通过逻辑推理来帮助解决复杂的决策问题的辅助决策系统。IDSS的核心思想是将人工智能与其他相关科学陈国相结合,使DSS具有人工智能。 1、IDSS的信息结构 把AI(人工智能)技术引入DSS,主要通过专家系统与DSS相结合,在DSS系统中加入推理机和规则库。由于在决策过程中,许多知识不能使用数据来表示,也不同通过模型来描述,所以没有固定方式的专门知识和历史经验。IDSS引入规则库可以存储这些知识,为决策提供重要的参考和依据。 IDSS可以有多种类型的信息库:文本裤、数据库、方法库、模型库和规则库。其中,文本库存放的是大量的自然语言书写的文档,数据库中存放的是事物关键因素的字段形式,模型库中存放的是反映信息本质关系的各种模型,规则库存放的是知识的最精炼的形式。从最初未加工的数据到经过加工的信息再到提炼出的知识,信息的这种演变关系被称为"演进链"。 2、IDSS的结构层次 依照系统层次的观点,IDSS从技术上可以划分为3个层次: (1)用用层:直接面向IDSS的使用者,在该层,决策者可以根据自己的需要,确定IDSS的状态和约束。决策者通过用户接口与系统对话,输入相关信息,DSS则通过信息转换理解用户请求和命令,并进行系统运算,将结果通过输出界面反映给用户。整个过程对用户是透明的。 (2)控制协调层:面向IDSS的总设计师。其基本单元是系统中库的控制协调模块,系统工程师通过各库的标准接口来建立它们之间的联系。 (3)基本结构层:面向专业程序设计人员,专业程序设计人员通过该层对各库进行具体的实现,包括定义组织结构及通信方式等,已完成各库的内部管理和外部通信任务。 3、IDSS的特点 IDSS主要具有以下特点: (1)基于成熟的技术,容易构造出实用系统。 (2)充分利用了各层次的信息资源。 (3)基于规则的表达方式,使用户易于掌握使用。 (4)具有很强的模块化特性,并且模块重用性较好,系统的开发成本低。 (5)系统的各部分组合灵活,可实现强大的功能,并且易于维护。 (6)系统可迅速采用陷阱的支撑技术,如AI等。 4、IDSS的运行效率 由于在IDSS的运行过程中各个模块要反复调用上层的模块,因此比直接采用低层调用的方式,运行效率低,但是考虑到IDSS知识在高层管理者作重大决策时才运行,其运行效率与其他系统相比要低得多,况且每次运行的环境条件差异很大,所以牺牲部分的运转效率以换取系统维护的效率是完全值得的。 5、IDSS的关键技术 开发一个实际的IDSS需要解决如下关键问题: (1)、模型库系统的设计和实现:包括模型库的组织结构、模型库管理系统的功能及模型库语言等方面的设计和实现。 (2)、部件接口:通过接口完成各个部件之间的联系,部件接口包括存取数据部件的数据接口,调用和运行模型部件的模型接口,以及对知识部件的知识推理接口。 (3)、系统综合集成:根据实际决策问题的要求,通过集成语言完成对各个部件的有机综合,形成一个完整的系统。 DSS系统需要集成数据、模型、知识和交互四个部件。目前,计算机语言能力有限,数值计算语言不支持对数据库的操作,而数据库语言的数值计算能力又比较薄弱。因此,DSS机要进行数值计算,又要进行数据库操作,这个问题再一次为DSS的发展带来障碍。 二、数据仓库和OLAP的决策支持技术 数据库系统作为数据管理手段,主要用于事务处理,在这些数据库中已经保存了大量的日常业务数据。传统的DSS一般直接建立在这种事务处理环境上,数据库技术一直力图使自己能够胜任从事务处理、批处理到分析处理的各种类型的信息处理任务。尽管数据库在事务处理方面的应用获得了巨大的成功,但对于分析处理的支持一直不能令人满意。尤其是当以业务处理为主的OLTP应用与分析处理为主的DSS应用共存于同一个数据库系统时,两种类型的处理发生了明显的冲突。人们逐渐认识到,事务处理和分析处理具有极不相同的性质,直接使用事务处理环境来支持DSS是行不通的。具体来说,事务处理环境不适合DSS应用的主要原因如下: 1、事务处理和分析处理的性能特性不同 在事务处理环境中,用户的行为特点是数据的存取操作频率高、每次操作时间短。因此系统可以允许多个用户按分时方式使用系统资源,同时保持较短的响应时间。OLTP是这种环境下的典型应用。在分析处理环境中,用户的行为模式与此完全不同,某个DSS应用程序可能需要连续运行十几个小时,从而消耗大量的系统资源。因此,将具有如此不同处理性能的两种应用放在同一个环境中运行显然是不适当的。 2、数据集成问题 DSS需要集成的数据。全面而又正确的数据是有效分析和决策的首要前提,相关数据收集得越完整,得到的结果就越可靠。因此,DSS不仅需要整个企业内部各部门的相关数据,还需要企业外部及竞争对手等的相关数据。事务处理的目的在于使业务处理自动化,一般只需要与本部门业务有关的当前数据,而对真个企业范围内的集成应用考虑很少。当前绝大多数企业内部数据的真正状况是分散而非集成的,造成这种分散的原因有很多种,主要有事务处理应用分散、"蜘蛛网"问题、数据不一致及外部数据和非结构化数据。 ● 事务处理应用的分散:当前商业企业内部各事务处理应用系统之间实际上几乎都是独立的,之所以出现这种现象有很多种原因,有的原因是设计方面的,例如系统设计人员为了减少系统开发费用和加快开发进度,总是采取简单而"有效"的设计方案。这种"有效"仅只对解决当前问题有效,而不能保证对以后新出现的问题继续有效;有的原因是经济方面的,比如经费有限时,一些商业企业总是考虑对关键的业务活动建立应用系统,然后逐步建立其他业务系统。还有的原因是历史或地理上的,例如某个大公司由分散在各地的多个子公司组成及企业的兼并等。由于这种事务处理应用系统分散状况的存在,DSS应用需要集成分散在多个事务处理应用系统中的相关数据,以为分析人员提供统一的数据视图。 ● "蜘蛛网"问题:DSS应用中为了避免与其他用户的冲突和简化用户的数据试图,一种称为"抽取程序"的方法目前被广泛应用。用户利用抽取程序从文件或数据库中查找有用的数据,然后这些数据被提取出来放入其他文件或数据库中共分析使用。这些经过抽取达到的新文件或数据库又被某些用户再次抽取,这种不加控制的连续抽取最终导致系统内的数据之间形成了错综复杂的网状结构,即所谓的"蜘蛛网"。企业的规模越大,"蜘蛛网"问题越严重。虽然网上的任意两个节点的数据可能归根结底是从一个原始库中抽取的,但其数据没有统一的实践基础,抽取算法各不相同,抽取级别也不相同,并且可能参考不同的外部数据。因而对同一问题的分析,不同节点会产生不同,甚至截然相反的结果,这当然使决策者无从下手。 ● 数据不一致问题:前述的应用分散和"蜘蛛网"问题,导致了多个应用间的数据不一致,这些数据不一致的形式多种多样。有时同一字段在不同应用中具有不同的数据类型,例如字段Sex在A应用中的值为M/F,在B应用中的值为0/1,在C应用中的值为Male/Female;有时同一字段在不同应用中具有不同的名字,例如A应用的字段balance在B中为bal,在C中又变为currbal;有时同名字段有不同的含义,例如字段weight在A应用中表示人的体重,在B中表示汽车的重量等。为了继承这些不一致的数据,必须进行转换。由于必须专门处理每种情况,因此这是一项很繁重的工作。 ● 外部数据和非结构化数据:商业企业高层管理者在决策中经常用到外部数据,这部分数据不是由事务处理系统产生的,而是来自于其他外部数据源。例如权威性刊物发布的统计数据、业界内部的技术报告、市场比较和分析报告及股票行情等,这些数据通常都是非结构化的数据。在事务处理系统中,由于没有对外部数据统一管理,因此用到这些数据的DSS应用必须自行集成。 上述问题是事务处理环境所固有的,尽管每个单独的事务处理应用可能是高效的,能产生丰富的细节数据,但这些数据却不能成为一个统一的整体,对于需要继承数据的DSS应用来说,必须自己在应用程序中集成这些数据。由于数据集成是一项非常繁杂的工作,所以完全交给应用程序完成会大大增加程序员的负担,并且每次分析,倒要进行一次这样的集成,从而导致极低的处理效率。DSS对数据集成的迫切需要可能是数据仓库技术出现的重要动因。 3、数据动态集成问题 由于每次分析都进行数据集成的开销过大,因此一些应用仅在开始集成,以后一直以这部分集成的数据作为分析的基础,而不在于数据源发生联系,我们称这种方式为"静态集成"。其最大的缺点在于:如果数据集成后数据源中数据发生了改变,则这些变化将不能反映给决策者,导致决策者使用的是过时的数据。对于决策者来说,虽然并不要求随时准确的探知系统内部的任何数据变化,但是也不希望所分析的是几个月以前的数据。因此,集成数据必须以一定周期(例如24小时)刷新,我们称其为"动态集成"。显然,事务处理系统不具备动态集成的能力。 4、历史数据问题 商业企业的事务处理一般只需要当前的数据,在数据库中一般也只存储短期数据,且不同数据的保存周期也不一样。即使保存了一些历史数据,也被束之高阁,未得到充分利用。但对于决策分析而言,历史数据相当重要,许多分析方法必须以大量的历史数据为依托。没有历史数据的详细分析,则难以把握商业企业的发展趋势。通过以上所述可见,DSS对于数据在空间和时间的广度上都有了更高的要求,而事务处理环境难以满足这些要求。 5、数据综合问题 在事务处理系统中积累了大量的细节数据,一般而言,DSS并不分析这些细节数据,主要原因一是细节数据数量过大,严重影响分析的效率;二是过多的细节数据不利于分析综合,而事务处理系统不具备这种综合能力。根据规范化理论,这种综合还往往因为是一种数据冗余而加以限制。以上这些问题说明,在事务型环境中直接构建分析型应用是一种失败的尝试,数据仓库本质上是对这些存在问题的回答。但是数据仓库的主要驱动力并不是改正过去的不足,而是市场商业经营行为的改变,即市场竞争要求捕获和分析事务级的业务数据,建立在事务处理环境上的分析系统无法达到这一要求。要提高分析和决策的效率和有效性,分析性处理及其数据必须与操作性处理及其数据分离。必须把分析性数据从事务处理环境中提取出来,按照DSS处理的需要重新进行组织,建立单独的分析处理环节。数据仓库正是为了构建这种新的分析处理环境而出现的一种数据存储和组织技术。 如前所述,传统数据库系统面向以事务处理为主的OLTP应用,不能满足DSS的需求。事务处理和分析处理对数据也有不同的要求,所以产生了数据仓库和OLAP的概念。 数据仓库清理、抽取和转换大量用于事务处理的传统数据库数据,斌干决策主体的需要重新组织。随着数据仓库的发展,OLAP也得到了相应的发展。数据仓库侧重于存储和管理面型决策主体的数据;而OLAP侧重于数据仓库中的数据分析,并将其转换成辅助决策信息。它的一个重要特点是多维数据分析,这与数据仓库的多维数据组织正好形成相互结合并行户补充的关系。OLAP技术能够利用分析过程深入分析和加工数据,例如关键之便数据常常采用代数方程处理,更复杂的分析则需要建立模型后计算。 OLAP查询分析工具 为了解决大型企业虽然拥有大量业务数据但难以及时有效的提取经营管理者所需要的信息这一问题,数据仓库技术应运而生。如何有效的组织大量数据,维护数据的一致性,方便用户访问,这只是数据仓库技术的一个方面。 数据仓库技术的另一个方面是如何为经营管理人员提供有效的使用信息,使他们能够使用数据仓库系统,对企业的经营管理作出正确的决策,从而为企业带来经济效益。要达到这个目的,就要借助OLAP技术。 OLAP技术主要通过多维的方式来对数据进行分析、查询和生成报表,它不同于传统的OLTP处理应用。OLTP应用主要是用来完成用户的事务处理,如民航订票系统和银行的储蓄系统等,通常要进行大量的更新操作,同时对响应的时间要求比较高。而OLAP系统的应用主要是对用户当前的及历史数据进行分析,扶助领导决策,其典型的应拥有对银行信用卡风险的分析与预测和公司市场营销策略的制定等,主要是进行大量的查询操作,对时间的要求不太严格。 目前常见的OLAP主要由基于多维数据库的MOLAP和基于关系数据库的ROLAP。在数据仓库应用中,OLAP一般是数据仓库应用的前端工具。同时,OLAP工具还可以同数据挖掘工具、统计分析工具配合使用,增强决策分析的功能。 一、OLAP特征 OLAP是一种软件技术,它使分析人员、经理及管理人员通过对信息的多种可能的观察角度进行快速、一致和交互的存取获得对信息的深入理解。这些信息是从原始数据专员而来,放映了用户所能理解的企业的真实数据“维”。OLAP特征可以分为以下几个方面: (1)提供数据的多维概念视图。数据的多维视图使最终用户能从多角度、多层次和多侧面考察数据库中的数据,从而深入的理解包含在数据中的信息及其内涵。 (2)快速响应用户的分析请求。 (3)分析功能。这是指OLAP系统可以提供给用户强大的统计、分析和报表处理功能。 (4)共享特性。这是指OLAP系统应有很高的安全性。例如,当多个用户同时向OLAP服务器写数据时,系统应能在适当的粒度级别商家更新锁。 (5)信息性。这是指OLAP系统分析所需的数据及导出的有用信息。 OLAP的这5个特征从另一个角度定义了OLAP应用系统的概念。OLAP的结构应该是一种多用户的3层客户机/服务器结构。这种结构的优点在于将应用逻辑、GUI和DBMS严格区分开来。复杂的应用逻辑不是分布于网络上的众多PC上,而是集中存放在OLAP服务器上。有服务器提供高效的数据存储,安排后台处理以及报表预处理,它由数据源(数据仓库或OLAP数据库组成)、OLAP服务器、OLAP客户端和客户端应用软件组成。 二、 选择OLAP工具 目前对OLAP工具的分类标准不太统一,大致上,可以分成多维数据库工具(MOLAP)、关系型数据库工具(ROLAP)和桌面型数据库工具。支持多维数据库工具的是多维数据库,而不是传统上的关系型数据库,也就是说,所谓数据库工具的核心是其数据存储不采用传统关系模型所使用的记录及表等方式,而采用矩阵(多维矩阵)方式来存储数据。由于多维数据库工具是一类新兴的工具,出现的时间还不是很长,所以到目前为止还没有统一的标准模型,没有统一的标准数据访问方法和应用编程接口。 市场上已经有很多厂商推出了功能比较晚上的多维数据库产品,但是这些产品质检所遵循的技术规范、体系结构等都有很大的差异,各家产品自成一家,各具特色,各有各自的开发环境。虽然每家产品都具有自己的多维数据库,但是否使用多维数据库几乎都是可选的,因为这些产品都可以使用关系型数据库来作为自己的数据存储机制,如果使用关系型数据库来存储数据,则需要作相应的数据转换工作,所以需要一定的额外的开销。由于现在UNIX服务器上的躬行能关心数据库服务器技术已经非常成熟,所以这种额外开销也就常常是无足轻重的。 对于ROLAP工具来说,使用关系型数据库来进行多维数据分析早在10年前就开始了,而且相关的技术和产品也发展得很快。由于许多厂商都看好这个市场,因而这类工具的产品比较丰富。美国数据仓库工程研究所的Neil Raden 博士曾经提出,只有同时满足以下5个条件的工具才能称为是一个关系型OLAP工具。 (1)有一个强有力的SQL生成器,能创建包含多重选择和相关子查询的复杂SQL查询程序,足以胜任各种分析计算。 (2)能根据目标数据库进行SQL优化,如果目标数据库支持SQL的扩展,能充分用其提供的这些扩展。 (3)提供通过元数据描述数据模型的机制,并实时使用这些元数据来创建查询。 (4)为系统管理人员提供监测系统性能的机制。 (5)能够根据把应用程序分布到客户机、服务器及中间层(应用服务器)等多个层次的需要,具有在各个应用部件上管理数据库访问的能力。 就目前市场上已有的产品而言,能够完全满足以上5点要求的产品为数不多,但许多产品基本符合这些要求。事实上,由于关系型数据库是目前数据库业的主流产品,而OLAP又是一个迫切的用户需求,所以,许多厂家都在关系型数据库的基础上开发了配套的OLAP工具。 与多维数据库工具相比,关系型OLAP工具在数据库层次上有标准的关系模型和标准的数据访问方式及其编程接口,工具与数据库的互联性较好,而且,由于关系型数据库技术相对比较成熟,应用面很广,因此,在今后的一段时间内,关系型OLAP工具将作为OLAP工具的一个主流市场。目前许多主要的关系型数据库厂商通过并购等方式兼并了一些规模较小,但技术比较先进的小型OLAP工具厂商,其目的就是吸收这些小厂商的先进技术,在关系型数据库服务器引擎中增加多维分析的能力,全面推出技术先进的关系型OLAP工具。由此预见,在关系型OLAP工具方面,将会出现兼容并蓄,互相渗透的局面。 桌面型OLAP工具是指在微机环境下开发的支持简单多维分析的用户工具,这些工具没有自己的数据存储,而把用户提交的查询翻译成对数据源的查询,然后从数据源中提取结果数据,并将这些结果数据合成最终的结果返回给客户。没有自己的数据存储是这类工具与以上两种工具的最大区别。目前在市场上有一些比较简单的基于局域网的支持多维数据分析处理的工具,它们多是基于单用户,规模较小。这些工具的功能和可用性都比较好,但主要问题是所支持的应用规模有限,而不能完全支持OLAP的所有特性。这些产品都使用某种机制支持用户的多维数据视图,能与多个关系型数据库系统相连。但由于所有的查询都必须转换为向数据源的直接查询,因此制约了处理的数据规模,从而对数据模型的维度数目有一定的限制。这些工具基本上是供个人小规模使用的工具,不能适应大型企业数据分析的需要。 在数据仓库工程中如何选择合适的工具,使工程技术人员和经营管理人员经常面临的难题,在选择OLAP工具时,一般应从产品的功能、适用性、性能、可伸缩型和未来的发展趋势5个方面综合考虑。从总体来说,这5个方面的重要性难分伯仲,但是应该注意以下几点: ● 虽然功能是最引人注目和最显而易见的方面,但是由于产品和技术发展更新更快,某个版本的产品在功能上的领先往往是短期的; ● 在数据仓库工程实践中,客户的需求往往是不稳定的,会随着工程项目的进苟⑸浠虼耍返氖视δ芰Ψ浅V匾?/P> ● 性能需要根据项目的实际需求和能获得投入等条件权衡取舍。从这个角度上看,性能一定程度上取决于投入; ● 从长远来看,适用性、可伸缩性和未来发展趋势是3个非常重要的因素; ● 从功能方面来看,如果要选择的是多维数据库产品,则应该注意产品对维度数的限制、跨维度的处理能力、数据汇总计算能力和数据的读写处理能力等方面,如果选择关系型数据库产品,则要注意其提供多维数据视图的能力、多维分析能力、对数据量的限制和对并发访问用户数量的限制以及维度交换能力等方面。 一般说来,如果应用的规模比较大,数据量很大,数据仓库工程覆盖整个企业范围,那么应该尽可能的考虑采用关系型OLAP产品工具。这是因为一方面关系型OLAP工具的技术比较成熟,另一方面关系型工具能与企业现有的关系型生产数据库结合得比较好。 从适用性方面看,一个产品是否在一个企业中使用取决于一系列因素: (1)工具的使用是否需要专门深入的培训是一个很重要的问题。特别是那些功能比较 完善,规模比较大的工具,企业能否为其成立一个专门小组,花比较长的时间和精力学习使用工具,这是企业必须考虑的。 (2)考虑工具所支持的体系结构与企业目前的体系结构是否一致。 (3)考虑企业的网络是否能满足工具对网络负荷的要求。 (4)企业是否计划进一步发展Internet/Intranet,工具是否支持。 (5)工具所支持的应用连接方式是否与企业的内部标准一致,这关系到这些工具能否与企业其他应用系统有机集成。 在性能方面,一定要从数据仓库工程项目本身的需要出发考虑候选工具的性能,不能仅凭公共媒体的若干评测标准而轻易下结论,公共媒体的评测往往与工程项目的实际情况有一定的距离,不一定能适应实际工程需要,只能起到参考作用。在性能的取舍上,要坚持可行性原则,量入为出,根据工程投入来确定性能需要,不能一味片面追求高目标。 要根据实际应用环境,充分考虑可伸缩性的要求,如果使用大型关系型数据库,一般都有比较好的可伸缩性,但是,要特别注意边界情况,即在什么情况下,系统的性能会急剧恶化。任何系统的可伸缩性都会有边界,边界并不可怕,但要充分论证工程项目的应用需求会不会落在候选工具的可伸缩性边界上,一定要避免这样的情况发生。 一旦选定了一种产品,在一定的时间内,就相对稳定的使用这种产品,否则,将严重影响到工程项目的效益和进展。同时,必须充分考虑产品的未来发展趋势,它在很大车高难度杀功能取决于生产厂商的前途。因此,要全面考察厂商的技术条件、产品战略、发展方向及市场前景等多个方面,产品的未来发展趋势是一个软指标,但是非常重要。 总之,对工具的选择要综合权衡,十分慎重。 数据仓库的概念模型定义 数据仓库是面向决策进行分析的数据库,无法在数据仓库设计时就确定用户明确而详细的需求,只有一些基本的需求方向、基本的数据需求摆在设计着面前:要做的决策有哪些?决策者感兴趣的是什么问题?解决这些问题需要什么样的信息?   作为传统的业务处理系统的开发,在其开发分析中需要明确业务处理的具体功能,即系统的开发是基于功能驱动的,数据仓库开发人员在数据仓库形成与应用之前是不可能了解数据仓库的功能的。因此,无法采用功能驱动开发方法进行数据仓库的开发,但是,数据仓库的开发人员可以在数据仓库开发之前通过数据仓库的需求分析,了解数据仓库用户的大致需求,即在决策过程中需要什么信息。这样,就可以界定一个数据仓库的大致系统边界,集中精力进行主要部分的开发。因而,界定边界的工作也可看作是数据仓库系统设计的需求分析,因为它将决策者的数据分析的需求用系统边界的定义形式反映出来。   例如,以某个超市的数据仓库设计为例。由于超市的业务需求,已经建立了一些分散的数据库,分别处理各自的业务,各个数据库是按照各个部门的具体需求建立起来的,这样的组织是的数据各自为政、缺乏全局性,管理层想要在这些数据库的基础上得到一些全局报表,进行一些分析工作是比较困难的。因此,超市的管理层决定要在原有的数据库系统基础上建立一个数据仓库。为实现该数据仓库的概念模型的定义,首先需要分析用户的决策需求,其次,分析为实现这些决策分析,数据仓库应该提供哪些信息。   1、数据仓库用户的决策分析   从决定数据仓库的开发初衷来说,超市管理者最迫切的需求是能更准确地把握超市商品的销售情况和库存情况。   为制定一个较长期的营销策略,超市经营者目前所要进行的分析有:客户的购买趋势、商品供应市场的变化趋势,供应商和客户的信息用等级等情况。   2、支持决策的数据需求分析   管理决策者完成以上的决策分析,需要商品销售量、商品采购量、客户情况和供应商情况这样一些数据。   3、数据需求分析工具   为了对数据进行完整的、规范的分析,可以采用用户信息需求表来描述用户的信息需求状况。在用户信息需求表中列出概念模型定义中所确定的数据仓库用户决策分析问题以及所要的信息。在列出所有需要信息的同时,还要明确这些信息的详略程度。例如,对客户购买商品趋势分析时,可能根据客户购买商品时所在的国家、省、市、街道、商店进行分析。此时,应将这些不同层次的信息按照层次的高低一次填写在用户信息需求表中,并且在所需要的信息名称后面表明这些信息可能分成多少个组别,才能满足决策分析的需要。利用这张表可以为客户购买商品趋势分析的主题确定不同的维:时间、地点和商品等,并且可以进一步确定维的层次。 表1 用户信息需求表 4、CRUD矩阵   CRUD矩阵是指利用矩阵的形式来表示各个不同用户对不同操作的动作行为。其中,C是Creat——产生,R是Read——引用,U是Update——更新,D是Delete——删除。   概念模型的定义,不仅需要构建一个ERD模型,还要了解ERD模型中每一个实体的诞生与消亡事件。因为只有在实体诞生以后,数据仓库才能从数据源中获取关于这一实体的数据。当这个实体消亡后,还需要将该实体的消亡状况在数据仓库的元数据中记录下来。为了提高系统的处理效率,在业务处理系统中常将一些历史数据删除,但是在数据仓库中这些历史数据却要保留下来。   例如,在销售业务处理系统中,某个客户第一次购买商品,系统会将一些相关信息记录在案,但是,某个已经记录在案的客户,如果在两年中没有订购商品,就要在业务系统中将其置于停顿状态,如果在三年内没有购买商品,系统将会删除该客户的记录。而在数据仓库中,该客户的信息将长期存在,因为管理人员可能需要了解五年中的客户信息,数据仓库就需要提供销售情况的五年快照。这些快照的信息包含客户的第一次订购时间、最后一次订购时间、目前的状况等信息。为了获取这些信息,在数据仓库的高层模型中就需要使用CRUD矩阵反映实体的生成、引用、更新和删除状况。利用CRUD矩阵还可以使数据源与数据仓库的联系得到确认。在CRUD矩阵中使用只描述那些重要的数据实体事件,对并不重要的实体可以不考虑。   在实体的CRUD时间中,最重要的是CD事件,因为CD事件提供了数据仓库的数据源的数据质量和数据完整性信息。同时,CD事件对数据仓库的时间标识机制会产生较大的影响;而U事件对数据仓库的维护具有重要意义,只有了解了数据源的更新状况,才能确定数据仓库中数据的刷新处理。在使用CRUD矩阵进行概念模型的分析是,可以了解到数千种潜在的数据仓库应用关系,这些应用将会产生大量的实体与功能关系CRUD矩阵,如表2所示。因此,在使用该矩阵时,一定要和用户以及业务系统的使用人员保持紧密的联系,对实体和功能关系的CRUD矩阵进行仔细的分析,存照对数据仓库真正有用的数据源。 表2 实体与功能关系CRUD矩阵   5、企业业务处理系统数据存储表   数据仓库分析人员在数据仓库的概念模型定义中还要了解组织现行业务处理系统的数据存储方式,从中找到数据仓库的数据映射源的物理状况,这对数据仓库的创建与刷新十分重要。因此,需要使用数据存储模式表,如表3所示,将所有的数据源存储模式列出。数据存储表的第一列给出组织现有的各种业务处理系统,其他列为这些业务处理系统中数据的存储模式。根据这张表,数据仓库设计人员还需要对每个数据源进行分析:   •这些数据源存储模式的管理者是否能为数据仓库的建设提供某种程度的支持? •客户/服务器之间的联接通过那种通信协议予以支持? •数据源的存储模式使用哪些数据操作语言?   在了解这些情况后,数据仓库设计人员可将数据仓库与特定的业务处理系统中的数据源成功地联结在一起。在了解组织现有的数据源的存储模式时,还要了解现有业务处理系统的数据库是如何管理的,便于为数据仓库与数据源的连接寻找合适的中间件。 表3 现行业务处理系统的数据存储模式表 数据挖掘技术及其应用现状 近十几年,随着科学技术飞速的发展,经济和社会都取得了极大的进步,与此同时,在各个领域产生了大量的数据,如人类对太空的探索,银行每天的巨额交易数据。显然在这些数据中丰富的信息,如何处理这些数据得到有益的信息,人们进行了有益的探索。计算机技术的迅速发展使得处理数据成为可能,这就推动了数据库技术的极大发展,但是面对不断增加如潮水般的数据,人们不再满足于数据库的查询功能,提出了深层次问题:能不能从数据中提取信息或者知识为决策服务。就数据库技术而言已经显得无能为力了,同样,传统的统计技术也面临了极大的挑战。这就急需有新的方法来处理这些海量般的数据。于是,人们结合统计学、数据库、机器学习等技术,提出数据挖掘来解决这一难题。 数据挖掘的含义和作用 数据挖掘的历史虽然较短,但从20世纪90年代以来,它的发展速度很快,加之它是多学科综合的产物,目前还没有一个完整的定义,人们提出了多种数据挖掘的定义,例如: SAS研究所(1997):“在大量相关数据基础之上进行数据探索和建立相关模型的先进方法”。 Bhavani(1999):“使用模式识别技术、统计和数学技术,在大量的数据中发现有意义的新关系、模式和趋势的过程”。 Hand et al(2000):“数据挖掘就是在大型数据库中寻找有意义、有价值信息的过程”。 我们认为:数据挖掘就是从海量的数据中挖掘出可能有潜在价值的信息的技术。这些信息是可能有潜在价值的,支持决策,可以为企业带来利益,或者为科学研究寻找突破口。 现今资料流通量之巨大已到了令人咂舌地步,就实际限制而言,便遇到了诸如巨量的纪录,高维的资料增加的传统分析技术上的困难,搜集到的资料仅有5%至10%用来分析,以及资料搜集过程中并不探讨特性等问题,这就让我们不得不利用Data Mining技术。 数据挖掘综合了各个学科技术,有很多的功能,当前的主要功能如下: 1.分类:按照分析对象的属性、特征,建立不同的组类来描述事物。例如:银行部门根据以前的数据将客户分成了不同的类别,现在就可以根据这些来区分新申请贷款的客户,以采取相应的贷款方案。 2.聚类:识别出分析对内在的规则,按照这些规则把对象分成若干类。例如:将申请人分为高度风险申请者,中度风险申请者,低度风险申请者。 3.关联规则和序列模式的发现:关联是某种事物发生时其他事物会发生的这样一种联系。例如:每天购买啤酒的人也有可能购买香烟,比重有多大,可以通过关联的支持度和可信度来描述。与关联不同,序列是一种纵向的联系。例如:今天银行调整利率,明天股市的变化。 4.预测:把握分析对象发展的规律,对未来的趋势做出预见。例如:对未来经济发展的判断。 5.偏差的检测:对分析对象的少数的、极端的特例的描述,揭示内在的原因。例如:在银行的100万笔交易中有500例的欺诈行为,银行为了稳健经营,就要发现这500例的内在因素,减小以后经营的风险。 需要注意的是:数据挖掘的各项功能不是独立存在的,在数据挖掘中互相联系,发挥作用。 数据挖掘的方法及工具 作为一门处理数据的新兴技术,数据挖掘有许多的新特征。首先,数据挖掘面对的是海量的数据,这也是数据挖掘产生的原因。其次,数据可能是不完全的、有噪声的、随机的,有复杂的数据结构,维数大。最后,数据挖掘是许多学科的交叉,运用了统计学,计算机,数学等学科的技术。以下是常见和应用最广泛的算法和模型: (1) 传统统计方法:① 抽样技术:我们面对的是大量的数据,对所有的数据进行分析是不可能的也是没有必要的,就要在理论的指导下进行合理的抽样。② 多元统计分析:因子分析,聚类分析等。③ 统计预测方法,如回归分析,时间序列分析等。 (2) 可视化技术:用图表等方式把数据特征用直观地表述出来,如直方图等,这其中运用的许多描述统计的方法。可视化技术面对的一个难题是高维数据的可视化。 (3) 决策树:利用一系列规则划分,建立树状图,可用于分类和预测。常用的算法有CART、CHAID、ID3、C4.5、C5.0等。 (4) 神经网络:模拟人的神经元功能,经过输入层,隐藏层,输出层等,对数据进行调整,计算,最后得到结果,用于分类和回归。 (5) 遗传算法:基于自然进化理论,模拟基因联合、突变、选择等过程的一种优化技术。 (6) 关联规则挖掘算法:关联规则是描述数据之间存在关系的规则,形式为“A1∧A2∧…An→B1∧B2∧…Bn”。一般分为两个步骤:① 求出大数据项集。② 用大数据项集产生关联规则。 除了上述的常用方法外,还有粗集方法,模糊集合方法,Bayesian Belief Netords ,最邻近算法(k-nearest neighbors method(kNN))等。 由于数据挖掘一开始就是面向应用的,是为决策服务,而决策者又不一定具备太多的技术的知识,现许多公司和研究机构开发了一系列的工具用于数据挖掘,见下表。 表1 常用数据挖掘工具及其比较 说明:NN=Neural Net(神经网络); DT=Decision Tree(决策树);B=Bayes(贝叶斯方法); kM=k-Means(动态聚类); kNN=k-Nearest Neighbor(最邻近算法); S=Traditional Statistical Techniques(传统统计技术); P=Prediction(预测); TS=Time Series(时间序列); C=Clustering(聚类方法); A=Association(关联方法); W32=Windows 95/98/NT; U=UNIX; P=Parallel Scalability (in at least one OS)(并行方式); A-S=API or SDK available(API或SDK方法可用); SQL=Uses Special SQL Extensions 三、数据挖掘的实施步骤 前面我们讨论了数据挖掘的定义,方法和工具,现在关键的问题是如何实施,其一般的步骤如下: 问题理解和提出 —> 数据准备 —> 数据整理 —> 建立模型 —> 评价和解释 1.问题理解和提出:在开始数据挖掘之前最基础的就是理解数据和实际的业务问题,在这个基础之上提出问题,对目标有明确的定义。 2.数据准备:获取原始的数据,并从中抽取一定数量的子集,建立数据挖掘库,其中一个问题是如果企业原来的数据仓库满足数据挖掘的要求,就可以将数据仓库作为数据挖掘库。 3.数据整理:由于数据可能是不完全的、有噪声的、随机的,有复杂的数据结构,就要对数据进行初步的整理,清洗不完全的数据,做初步的描述分析,选择与数据挖掘有关的变量,或者转变变量。 4.建立模型:根据数据挖掘的目标和数据的特征,选择合适的模型。 5.评价和解释:对数据挖掘的结果进行评价,选择最优的模型,作出评价,运用于实际问题,并且要和专业知识结合对结果进行解释。 以上的步骤不是一次完成的,可能其中某些步骤或者全部要反复进行。 许多研究结构和公司结合自己的数据挖掘软件,提出数据挖掘过程模型,值得借鉴的是SAS研究所和SPSS公司提出的方案。 SAS研究所认为数据挖掘是对数据进行选择,探索,调整和建模来揭示数据中未知的模式,开发了图形界面的SAS/EM来进行数据挖掘: (1)Sample —— 抽样:从大量的数据中抽取与探索问题有关的数据子集,这个样本应该包含足够的信息,又易于处理。 (2)Explore —— 探索:对数据子集进行探索,寻找出与期望的关系和未知的模式 (3)Modify —— 调整:对数据进行探索后,有了初步的了解,就必须对数据进行增减,选择,转化,量化,保证有效进行 (4)Model —— 建模:应用分析工具,建立模型,进行预测 (5)Assess —— 评价:评价数据挖掘结果的有效性和可靠性 SPSS公司提出了5A的模型,进行数据挖掘,认为任何数据挖掘方法学都由5个基本元素组成: (1)Assess —— 正确、彻底的了解业务需求及数据 (2)Access —— 获取数据,做适当的调整 (3)Analyze —— 选择适当的分析、验证方法和工具 (4)Act —— 推荐性、有说服力的原型演示 (5)Automate —— 提供优秀的自动化软件。 四、数据挖掘应用现状 数据挖掘所要处理的问题,就是在庞大的数据库中找出有价值的隐藏事件,并且加以分析,获取有意义的信息,归纳出有用的结构,作为企业进行决策的依据。其应用非常广泛,只要该产业有分析价值与需求的数据库,皆可利用Mining工具进行有目的的发掘分析。常见的应用案例多发生在零售业、制造业、财务金融保险、通讯及医疗服务: (1)商家从顾客购买商品中发现一定的关系,提供打折购物券等,提高销售额 (2)保险公司通过数据挖掘建立预测模型,辨别出可能的欺诈行为,避免道德风险,减少成本,提高利润 (3)在制造业中,半导体的生产和测试中都产生大量的数据,就必须对这些数据进行分析,找出存在的问题,提高质量 (4)电子商务的作用越来越大,可以用数据挖掘对网站进行分析,识别用户的行为模式,保留客户,提供个性化服务,优化网站设计 一些公司运用数据挖掘的成功案例,显示了数据挖掘的强大生命力: 美国AutoTrader.com是世界上对大的汽车销售站点,每天都会有大量的用户对网站上的信息点击,寻求信息,其运用了SAS软件进行数据挖掘,每天对数据进行分析,找出用户的访问模式,对产品的喜欢程度进行判断,并设特定服务娶,取得了成功。 Reuteres是世界著名的金融信息服务公司,其利用的数据大都是外部的数据,这样数据的质量就是公司生存的关键所在,必须从数据中检测出错误的成分。Reuteres用SPSS的数据挖掘工具SPSS/Clementine,建立数据挖掘模型,极大地提高了错误的检测,保证了信息的正确和权威性。 Bass Export是世界最大的啤酒进出口商之一,在海外80多个市场从事交易,每个星期传送23000份定单,这就需要了解每个客户的习惯,如品牌的喜好等,Bass Export用IBM的Ineelligent Miner很好的解决了上述问题。 五、数据挖掘中存在的问题 尽管数据挖掘有如此多的优点,但数据挖掘也面临着许多的问题,这也为数据挖掘的未来的发展提供了更大的空间。 1.数据挖掘的基本问题就在于数据的数量和维数,数据结构也因此显的非常复杂,如何进行探索,选择分析变量,也就成为首先要解决的问题。 2.面对如此大的数据,现有的统计方法等都遇到了问题,我们直接的想法就是对数据进行抽样,那么怎么抽样,抽取多大的样本,又怎样评价抽样的效果,这些都是值得研究的难题。 3.既然数据是海量的,那么数据中就会隐含一定的变化趋势,在数据挖掘中也要对这个趋势做应有的考虑和评价。 4.各种不同的模型如何应用,其效果如何评价。不同的人对同样的数据进行挖掘,可能产生不同的结果,甚至差异很大,这就涉及到可靠性的问题。 5.当前互联网的发展迅速,如何进行互联网的的数据挖掘,还有文本等非标准数据的挖掘,都引起了极大的兴趣。 6.数据挖掘涉及到数据也就碰到了数据的私有性和安全性。 7.数据挖掘的结果是不确定的,要和专业知识相结合才能对其做出判断。 总之,数据挖掘只是一个工具,不是万能的,它可以发现一些潜在的用户,但是不会告诉你为什么,也不能保证这些潜在的用户成为现实。数据挖掘的成功要求对期望解决问题的领域有深刻的了解,理解数据,了解其过程,才能对数据挖掘的结果找出合理的解释。例如曾经用数据挖掘找出的啤酒和尿布的例子,如何去解释这种现象,是应该将两者放在一起还是分开销售,这还需要对消费心理学有所研究才能做出决定,而不是数据挖掘能力所及的了。 统计分析和数据挖掘 在企业管理信息化的大背景下,数据分析技术已经成为企业应用关注的一个焦点,但由于历史原因,大部分人对传统的统计分析和新起的数据挖掘都不太了解,存在着许多模糊认识。这里先谈谈对统计方法的两种常见的误解。 对统计分析的两种误解 统计学有很强的数学背景,所以常见的误解是:统计学家约等于数学家,数学家约等于陈景润,陈景润约等于歌德巴赫,于是统计学家约等于歌德巴赫。问题来了,歌德巴赫和企业的数据管理有什么关系呢?对于统计学来说,这种误解实在是极大的不幸。著名统计学家George Box有句名言:所有的模型都是错误的,而其中有些模型是有用的。这种话表面上看来是很放肆的,但统计学家们在处理实际问题的时候,所采取的就是这种实用主义态度。统计学家是一群跟数据打交道的工程师,工程师们也要使用大量的数学公式和计算,但决不是坐在屋子里证明高深的数学定理或者哥德巴赫猜想的怪才。 还有一种误解是:统计好象和会计连在一起。说这种话的人其本意是指企业里统计员的工作和会计的工作差不多,统计员和会计的工作为统计分析提供了数据基础。但我们一般说到的统计分析却是指基于数理统计发展起来的诸多方法。这样看来,把统计和会计混为一谈是有些低估统计分析的难度和潜力了。简单说来,会计系统把营业活动转化为数据,在数据编码和标准化方面都有独到之处,它为企业管理提供了大量的基础数据,会计系统构成了定量管理的基础设施;统计方法如果要在企业的管理实践中发挥更大的作用,就应该学习会计的这种标准化思路,让自己更便于使用,更加贴近用户的理解,一句话,变得更加“傻瓜化”。 再看企业决策支持系统 从企业决策支持系统的角度来评估各种量化管理方法的意义,这时实施一种具体的统计方法或者数据挖掘技术,实际上就相当于实施一个项目。量化管理方法很多,而统计方法是一个大类,尤其适用于在不确定环境和信息不充分下的决策。 企业在选用系统的时候,该怎么办?一个通用的问题处理模型就能够说明,通用的问题处理模型包括:问题、可用的资源和技术、成本,综合考虑这三个方面的作用就能够达成一个相对合理的解决方案。这个通用的问题处理模型当然适用于企业寻找信息化途径的努力。 从一个统一的角度来看,企业定量管理的基础是数据的收集和处理系统,一般叫作决策支持系统。用这个金字塔图可以清楚地看到逐级提炼的过程(从噪音到数据、信息、知识和智慧)的提炼过程。决策所依赖的,至少是知识这个层次的加工结果,而未加工的原材料就是所谓的噪音。从这个广义的模型出发,我们可以把会计看作一个信息系统,各个层次之间的交界处需要采用特定的方法来完成提炼,而每个界面上可以运用的技术都是不一样的。 一个信息系统可以包括会计系统、数据库体系和数据分析体系,有一种常见的误解认为统计方法只涉及从数据以后开始的分析工作。其实,巧妇难为无米之炊,统计方法的运用效果取决于基础数据,而收集何种基础数据,怎样节省收集数据的成本,如何降低数据收集过程中的误差,都需要一定的理论指导,统计学为回答这些问题提供了许多很有效的解决方案。 和实际的矿山一样,开掘银矿、煤矿和金矿所用的技术是完全不一样的。完成从噪音到智慧的过程包括其中的中间产物,也有一个对症下药的问题,再考虑到实施的成本和数据分析的难度(比如数据量,数据维数等等),数据处理很容易被人理解为一种艺术。说统计分析和数据挖掘带有艺术色彩应该基本正确,这就象淘金和看病一样,不一定最贵的药就最好。比如对统计方法和统计软件的选用,就是有区别的。小型企业的信息化,基本上依赖ACCESS数据库和EXCEL界面就可以完成;大型企业的信息化则需要和专业的管理软件公司合作才能完成。早期信息化的成本和失败率往往都比较高,这和病急乱投医的情形差不多。 有些人生富贵病,典型症状就是一定要吃贵重的药,否则病好不了,这种现象在企业信息化中也能看到。打个比方,美国企业的信息化接近于坚持锻炼,中国企业的信息化则更像病后康复——有了健康人的示范效应,中国的企业就特别着急,不注意信息系统和自身管理实践的融合,只买贵的、不买对的,结果是交了不少学费。笔者希望对数据分析的运用不要陷入同样的误区。 计算机扮演的角色 从以往的情况来看,统计方法的大规模推广依赖于计算能力的不断增强或者说计算成本的大幅下降。芯片制造技术和软件工程的迅猛发展给人们留下了深刻印象,但是数据量的增长却始终走在计算机的增长前面。这种力不从心的感觉是历史上的常态。完全手工计算的时候,人们会认为多元线性回归的计算是很恐怖的;有手摇计算机的时候,作主成分分析是非常恐怖的;现在,海量数据来了,虽然拥有20年前无法想象的计算能力,有关的分析工作还是让人头痛不已。但是,计算机还是让统计学跟在后面,不断开拓自己的领地。所以,统计学应该感谢计算机,是计算机让统计学变成了真正的实用学科。 另一方面,计算机学科又在不断侵入统计的领域,模糊统计学的边界。很多人都在比较自由地利用计算机,“自以为是”地进行数据分析或者所谓的、不严密的统计分析,他们往往不把“统计专家”的意见放在眼里。有很多大量使用统计方法来分析问题的人甚至没有接受过足够的统计学科训练。对于许多计算数学方面的专家来说,统计学家的权威地位是比较古怪的东西。 偏偏还有许多统计方法的发展历程是这样的:实际应用部门的人提出了一种经验方法,然后其他非统计专业的人开始模仿并推广,最后统计学家跟在后面,努力说明这种方法在统计意义下的合理性并把这种方法整理得更符合学院派的需要。得到广泛应用的方法就会进入统计教科书,成为统计学的组成部分。有些时候,统计学落在了应用的后面。 现在,依赖严格数学假设和推理的统计分析方法依然是统计学的主流。但是面对外行们的自由行动,统计学家比较无奈。数据挖掘正在充当新的入侵者甚至是竞争者,统计学家应该区分自己的理论和实际应用,结果统计学家内部开始分化,放下架子的人越来越多,这是好事。但是,许多来自计算科学的数据挖掘专家为了凸显自己的革命者形象,会宣称自己并非统计学家,甚至强调无须懂得统计学,这就有些虚无主义,做过了头。 实施BI的四大建议 很多人以为BI是新兴的技术和理念,应用也刚刚开始。而事实并非如此,BI早已在潜移默化中渗透到企业的应用中去了,像金蝶和用友的财务软件很早就加入了智能分析的功能,只不过没有将其单独区分开来。当然BI的功能决不仅仅是财务智能分析,企业中的各项业务都可以通过BI系统进行分析。 中国较早进行信息化改造的一批企业,无论是实施了ERP、CRM还是CTI,企业内部的原始数据都已有了一定数量的积累。BI转眼之间成了各大媒体追捧对象的原因,大概也是看到企业用户对智能分析系统的需求已开始突显。 目前,一些想构建BI系统的用户可能还有些迷茫,不知该从何入手;在上系统之前应做哪些思想和流程上的准备。本文记者在对BI咨询顾问的采访当中,记录下他们给出的一些建议,希望能对企业用户有些帮助。 BI要想大做小,从最迫切的业务入手。无论是上哪种管理软件,几乎都会听到同样的声音:不要贪大求全,从最迫切的业务入手,BI也不例外,它可以做成一个独立的庞大系统,把企业中所有的业务数据全部放在一个数据仓库里,进行多维分析;也可以将其嵌入到各项单独的业务数据中,进行单独的业务分析。咨询顾问的意见是先把最紧要的业务管理起来,以便迅速响应市场需求,做出最佳决策。积累了一定经验后,再逐渐增加BI系统继续对其他业务进行决策分析,这样可以在一定程度上规避风险,因为上BI也要进行流程的重整,一个部门的整顿对公司的影响要比整个公司整顿的影响小得多,就好比动小手术总要比作大手术的疼痛小一些一样。 坚持业务趋动而不是IT趋动。涉及到管理的问题,就是行为科学的问题,也就是人的问题。因此管理软件的需求拉动都是从业务部门牵头做起,而不是IT部门。也许一些企业也明白应由业务部门来提出对软件的设计需求,但业务人员的水平不足以达到提出未来管理模型架构的水平,如果出于这样的原因,企业老总要给予IT部门绝对的权威,让他有权来要求业务部门必须配合IT部门共同协商提出需求模型,以尽量准确的把握企业的业务发展方向。 要成立专门的数据分析部门。在国内,数据分析师这个职位提到的还不多,专家建议,如果准备上BI系统的话,一定要落实相应的数据分析部门。企业对数据进行优化的目的,是要从中找出最有价值的数据,这些有价值的数据挖掘出来后,如果没有相应的人对其进行跟踪处理,他的价值也就只停留在迅速做出报表的层面了,如果可以给企业带来增值效益的数据分析被忽略了,BI的核心价值也就被荒废了。在国外,各项业务都有相应的数据分析师,他们是给企业提供决策的智囊。 BI也是一把手工程。BI同ERP和CRM等软件一样也是一把手工程。一般的工作人员想到的只是利用BI迅速生成报表,提高劳动效率;而一把手的角度,是从提高企业业务增值的目的出发,两者在需求模型设计时侧重点完全不同,结果也大相径庭。另一方面,没有一把手的大力支持,企业的业务流程调整会遇到很大阻力,甚至是难以贯彻下去。 因此,在决定上BI之前,企业用户的老总和其智囊团需要慎重考虑哪些业务首先需要决策支持,这项业务的内部流程是否清楚,如何对其进行内部流程重整。并要配套相应的部门来专门负责数据的跟踪和优化分析,这样企业的决策将会变得越来越理智客观,在日益激烈的商业竞争中将也会领先一步。 选择合适的ETL工具 目前,商业智能系统有两种实施策略: 一种是将BI系统建造在目前已有的业务系统之上,以企业应用集成(EAI)系统为核心,将各个业务系统的独立数据统一成标准数据格式(如XML),然后,由BI系统进行整合、分析、展现。此类BI系统通常是与EAI系统捆绑在一起的,其架构读者可通过EAI系统的相关资料进行了解,此处将不做讨论。 另一种是将BI系统建立在企业级的数据仓库基础上,由数据仓库将企业的业务数据统一存储在企业逻辑数据模型架构中,然后,通过在数据仓库基础上建立逻辑或物理的数据集市、数据决策系统、数据在线分析系统等子系统,完成数据的整合、分析,然后由前端展现工具对已有的数据(原始数据、整合数据)进行汇总及展现。由于此类BI系统可以分步实施,用户可逐步建立其BI系统,所以成功率比较高。以目前已有的商业智能系统来看,此种架构将成为商业智能系统发展的主流。以下的讨论将以此种架构为基础。 在企业级的以数据仓库系统为中心的商业智能系统中,其组成架构包括以下几部分: ● 源数据系统 ● 可操作数据存储系统(ODS) ● 数据决策系统(DDS) ● 在线分析系统(OLAP) ● 前端展现工具 ● 元数据系统 商业智能系统运行的基础是互相独立、互不兼容的、复杂的源数据系统,各个源数据系统是企业在不同的历史时期建立的,面向不同业务需求的生产系统。因此,依照合理的方式整合源数据系统,将源数据统一存储在以企业逻辑模型构建的ODS系统中,DDS、OLAP、前端展现工具依照用户需求,对数据进行汇总、展示,并按照用户喜好的方式,将结果展现在用户面前是商业智能系统的基本任务。由于企业业务系统的复杂性,各个源数据系统的数据结构、格式、定义各不相同,为了能有效的整合企业数据系统,保持数据的一致性,并将数据统一地展现在客户面前,ETL解决方案是用户唯一的选择。 ETL解决方案包括数据抽取(E)、数据传输、转换与清洗(T)、数据加载、调度(L),毋庸置言,ETL系统将贯穿整个商业智能系统的全过程,如图所示,从源数据系统到前端展示系统的整个商业智能系统各个组件之间,都存在ETL过程。 ETL方案对整个商业智能系统的重要性可与血液与人体的作用相提并论,一个有效的ETL处理方案将是系统成功的首要因素。 ETL方案的选择应考虑以下方面: ● 数据操作效率; ● 数据操作时间周期; ● 定制的灵活性。 对ETL来说,数据操作的效率是最重要的考虑因素。对效率的考察,应包括以下几点: 1. 是否支持复杂的数据操作; 2. 是否支持多任务并行操作; 3. 是否符合系统对数据处理时间窗口的要求。 数据操作时间周期的支持包括: 1. 是否支持各种数据处理时间周期的混合操作; 2. 是否支持数据的小批量持续加载; 3. 是否支持数据的大批量定时加载。 定制灵活性包括: 1. 是否支持数据依赖的建立; 2. 是否支持数据流的建立; 3. 是否支持操作定时启动; 4. 是否可扩展; 5. 开发环境是什么,开发是否简单、灵活。 对于ETL流程的建立,通常有以下两种方式: ● 利用数据库系统、业务子系统工具自行开发 ● 购买现成的ETL工具 通常情况下,ETL方案中,以上两种方式是同时存在的。一般情况下,利用各个子系统提供的工具进行自行开发,可充分利用子系统的优化操作,提高数据处理效率,但其灵活性和可扩展性欠佳;购买现成的ETL工具(如EAI、Informatic等厂商的ETL工具),可灵活定制数据处理流程,简化数据开发,缩短ETL方案实施周期,但其处理效率较低。因此,建议读者应结合以上的ETL建立方式,在保证ETL性能的前提下,购买合适的ETL工具。(本文作者为NCR Teradata数据仓库事业部技术顾问) 九大数据仓库方案特点比较 IBM、Oracle、Sybase、CA、NCR、Informix、Microsoft、和SAS等有实力的公司相继(通过收购或研发的途径)推出了自己的数据仓库解决方案,BO和Brio等专业软件公司也在前端在线分析处理工具市场上占有一席之地。 下面针对这些数据仓库解决方案的性能和特点做分析和比较。IBMIBM公司提供了一套基于可视数据仓库的商业智能(BI)解决方案,包括:Visual Warehouse(VW)、Essbase/DB2 OLAP Server 5.0、IBM DB2 UDB,以及来自第三方的前端数据展现工具(如BO)和数据挖掘工具(如SAS)。其中,VW是一个功能很强的集成环境,既可用于数据仓库建模和元数据管理,又可用于数据抽取、转换、装载和调度。Essbase/DB2 OLAP Server支持“维”的定义和数据装载。 Essbase/DB2 OLAP Server不是ROLAP(Relational OLAP)服务器,而是一个(ROLAP和MOLAP)混合的HOLAP服务器,在Essbase完成数据装载后,数据存放在系统指定的DB2 UDB数据库中。严格说来,IBM自己并没有提供完整的数据仓库解决方案,该公司采取的是合作伙伴战略。例如,它的前端数据展现工具可以是Business Objects的BO、Lotus的Approach、Cognos的Impromptu或IBM的Query Management Facility;多维分析工具支持Arbor Software的Essbase和IBM(与Arbor联合开发)的DB2 OLAP服务器;统计分析工具采用SAS系统。OracleOracle数据仓库解决方案主要包括Oracle Express和Oracle Discoverer两个部分。 Oracle Express由四个工具组成:Oracle Express Server是一个MOLAP (多维OLAP)服务器,它利用多维模型,存储和管理多维数据库或多维高速缓存,同时也能够访问多种关系数据库;Oracle Express Web Agent通过CGI或Web插件支持基于Web的动态多维数据展现;Oracle Express Objects前端数据分析工具(目前仅支持Windows平台)提供了图形化建模和假设分析功能,支持可视化开发和事件驱动编程技术,提供了兼容Visual Basic语法的语言,支持OCX和OLE;Oracle Express Analyzer是通用的、面向最终用户的报告和分析工具(目前仅支持Windows平台)。Oracle Discoverer即席查询工具是专门为最终用户设计的,分为最终用户版和管理员版。在Oracle数据仓库解决方案实施过程中,通常把汇总数据存储在Express多维数据库中,而将详细数据存储在Oracle关系数据库中,当需要详细数据时,Express Server通过构造SQL语句访问关系数据库。但目前的Express还不够灵活,数据仓库设计的一个变化往往导致数据库的重构。另外,目前的Oracle 8i和Express 之间集成度还不够高,Oracle 8i和Express之间需要复制元数据,如果Oracle Discoverer(或BO)需要访问汇总数据,则需要将汇总数据同时存放在Oracle和Express中,系统维护比较困难。值得注意的是,刚刚问世的Oracle 9i把OLAP和数据挖掘作为重要特点。 SybaseSybase提供的数据仓库解决方案称为Warehouse Studio,包括数据仓库的建模、数据抽取与转换、数据存储与管理、元数据管理以及可视化数据分析等工具。其中,Warehouse Architect是PowerDesigner中的一个设计模块,它支持星形模型、雪花模型和ER模型;数据抽取与转换工具包括PowerStage、Replication Server、Carleton PASSPORT,PowerStage是Sybase提供的可视化数据迁移工具。Adaptive Server Enterprise是Sybase企业级关系数据库,Adaptive Server IQ是Sybase公司专为数据仓库设计的关系数据库,它为高性能决策支持系统和数据仓库的建立作了优化处理,Sybase IQ支持各种流行的前端展现工具(如Cognos Impromptu、Business Objects、Brio Query等);数据分析与展现工具包括PowerDimensions、EnglishWizard、InfoMaker、PowerDynamo等,PowerDimensions是图形化的OLAP分析工具,它支持SMP和多维缓存技术,能够集成异构的关系型数据仓库和分布式数据集市,从而形成单一的、新型的多维模式;数据仓库的维护与管理工具包括Warehouse Control Center、Sybase Central、Distribution Director,其中Warehouse Control Center是为数据仓库开发人员提供的元数据管理工具。Sybase提供了完整的数据仓库解决方案 Quick Start DataMart,具有良好的性能,并支持第三方数据展现工具。从Quick Start DataMart的名称不难看出,它尤其适合于数据集市应用。另外,Sybase可以提供面向电信、金融、保险、医疗保健这4个行业的客户关系管理(CRM)产品,在这4个产品中,有80%的功能是共性的,有20%的功能需要Sybase与合作伙伴针对不同需求共同开发。 InformixInformix于1998和1999年相继收购了国际上享有盛誉的数据仓库供应商Red Brick System和数据管理软件供应商Ardent,并提供了完整、集成的数据仓库解决方案。该解决方案还包括一个“快速启动”咨询服务,能够帮助用户快速完成数据仓库或数据集市的开发。 Informix产品能够集成Microsoft IIS或Netscape Enterprise/FastTrack服务器,从而支持基于Web的数据仓库应用。Informix没有提供自己的报表和数据挖掘工具,但他们与Brio和SAS公司建立了战略联盟,并推出了“Informix商务智能联盟计划”。该计划以Informix为主,结合Brio的前端数据分析和报表功能,以及SAS的数据挖掘功能,形成了一个“BI中心”打包方案。(今年4月Informix Software已被IBM公司收购,此举将给IBM公司数据库及数据仓库产品,从技术和市场占有率上带来极大的提升。) CACA于1999年收购了Platinum Technology公司后,得到了完整的数据仓库解决方案,包括:Erwin数据仓库设计工具、InfoPump数据转换与抽取工具、InfoBeacon ROLAP服务器、Forest&Trees前端数据展现工具、Provision系统监视与作业调度工具和DecisionBase元数据管理工具等。与Informix解决方案相似,CA解决方案也提供了数据仓库建模、元数据管理、数据抽取与转换、基于关系数据库的在线分析服务器、系统监视与作业调度、前端数据展现等功能,同时还支持Web应用。不同之处是Informix提供了专门为数据仓库设计的高性能目标数据库(Red Birck),而CA解决方案则提供ODBC接口,并将数据存储在第三方关系数据库(如Oracle、Sybase、SQL Server、Informix和IBM DB2等)中,其性能要打一些折扣,但开放性要好些。另外,CA的OLAP服务器目前只能与Microsoft的IIS Web服务器集成。 NCR TeradataNCR Teradata是高端数据仓库市场最有力的竞争者,主要运行在NCR WorldMark SMP硬件的Unix操作系统平台上。1998年,该公司也提供了基于Windows NT的Teradata,试图开拓数据集市(Data Mart)市场。总的来看,NCR的产品性能很好,Teradata数据仓库在100GB、300GB、1TB和3TB级的TPCD指标测试中均创世界纪录。但是,NCR产品的价格相对较高,中小企业用户难以接受。 MicrosoftMicrosoft将OLAP功能集成到Microsoft SQL Server 7.0中,提供可扩充的基于COM的OLAP接口。它通过一系列服务程序支持数据仓库应用。数据传输服务DTS(Data Transformation Services)提供数据输入/输出和自动调度功能,在数据传输过程中可以完成数据的验证、清洗和转换等操作,通过与Microsoft Repository集成,共享有关的元数据;Microsoft Repository存储包括元数据在内的所有中间数据;SQL Server OLAP Services支持在线分析处理;PivotTable Services提供客户端OLAP数据访问功能,通过这一服务,开发人员可以用VB或其他语言开发用户前端数据展现程序,PivotTable Services还允许在本地客户机上存储数据;MMC(Microsoft Management Console)提供日程安排、存储管理、性能监测、报警和通知的核心管理服务;Microsoft Office 2000套件中的Access和Excel可以作为数据展现工具,另外SQL Server还支持第三方数据展现工具。 SASSAS公司在20世纪70年代以“统计分析”和“线性数学模型”而享誉业界,90年代以后,SAS公司也加入了数据仓库市场的竞争,并提供了特点鲜明的数据仓库解决方案,包括30多个专用模块。其中,SAS/WA(Warehouse Administrator)是建立数据仓库的集成管理工具,包括定义主题、数据转换与汇总、更新汇总数据、元数据管理、数据集市的实现等;SAS/MDDB是SAS用于在线分析的多维数据库服务器;SAS/AF提供了屏幕设计功能和用于开发的SCL(屏幕控制语言);SAS/ITSV(IT Service Vision)是IT服务的性能评估和管理的软件,这些IT服务包括计算机系统、网络系统、Web服务器和电话系统等。 SAS系统的优点是功能强、性能高、特长突出,缺点是系统比较复杂。Business ObjectsBusiness Objects(BO)是集查询、报表和OLAP技术为一身的智能决策支持系统。它使用独特的“语义层”技术和“动态微立方”技术来表示数据库中的多维数据,具有较好的查询和报表功能,提供钻取(Drill)等多维分析技术,支持多种数据库,同时它还支持基于Web浏览器的查询、报表和分析决策。虽然BO在不断增加新的功能,但从严格意义上说,BO只能算是一个前端工具。也许正因为如此,几乎所有的数据仓库解决方案都把BO作为可选的数据展现工具。虽然国内有很多大学和研究机构从事数据仓库技术的研究,但到目前为止,国内基本上没有成熟的数据仓库解决方案。

你可能感兴趣的:(BI 及其相关技术概览)