6.1数据仓库的基本原理6.2数据仓库系统6.3联机分析处理6.4数据仓库的决策支持第六章数据仓库6.1数据仓库的基本原理数据仓库的兴起1.“数据太多,信息不足”的现状2.异构环境的数据源据美国《幸福》杂志所列的全球2000家大公司中已有90%将Internet网络和数据仓库这两项技术列入企业计划。数据仓库是1995年开始盛行起来的。6.1.1数据仓库的概念(1)W.H.Inmon在《建立数据仓库》一书中,对数据仓库的定义为:数据仓库是面向主题的、集成的、稳定的,不同时间的数据集合,用于支持经营管理中决策制定过程。1、数据仓库的概念(2)SAS软件研究所定义:数据仓库是一种管理技术,旨在通过通畅、合理、全面的信息管理,达到有效的决策支持。1、数据仓库的概念传统数据库用于事务处理,也叫操作型处理,是指对数据库联机进行日常操作,即对一个或一组记录的查询和修改,主要为企业特定的应用服务的。用户关心的是响应时间,数据的安全性和完整性。数据仓库用于决策支持,也称分析型处理,用于决策分析,它是建立决策支持系统(DSS)的基础。操作型数据(DB数据)与分析型数据(DW数据)之间的差别为:DB数据DW数据细节的综合或提炼的在存取时准确的代表过去的数据可更新的不更新一次操作数据量小一次操作数据量大面向应用面向分析支持管理支持决策2、数据仓库特点(1)数据仓库是面向主题的主题是数据归类的标准,每一个主题基本对应一个宏观的分析领域。例如,银行的数据仓库的主题:客户DW的客户数据来源:从银行储蓄DB、信用卡DB、贷款DB等三个DB中抽取同一客户的数据整理而成。在DW中分析客户数据,可决定是否继续给予贷款。2、数据仓库特点(2)数据仓库是集成的数据进入数据仓库之前,必须经过加工与集成。对不同的数据来源进行统一数据结构和编码。统一原始数据中的所有矛盾之处,如字段的同名异义,异名同义,单位不统一,字长不一致等。将原始数据结构做一个从面向应用到面向主题的大转变。2、数据仓库特点(3)数据仓库是稳定的数据仓库中包括了大量的历史数据。数据经集成进入数据仓库后是极少或根本不更新的。(4)数据仓库是随时间变化的数据仓库内的数据时限在5~10年,故数据的键码包含时间项,标明数据的历史时期,这适合DSS进行时间趋势分析。而数据库只包含当前数据,即存取某一时间的正确的有效的数据。2、数据仓库特点大型DW是一个TB(1000GB)级数据库问题(一般为10GB级相当于一般数据库100MB的100倍)需要一个巨大的硬件平台需要一个并行的数据库系统最好的数据仓库是大的和昂贵的。近期基本数据:是最近时期的业务数据,是数据仓库用户最感兴趣的部分,数据量大。历史基本数据:近期基本数据随时间的推移,由数据仓库的时间控制机制转为历史基本数据。轻度综合数据:是从近期基本数据中提取出的,这层数据是按时间段选取,或者按数据属性(attributes)和内容(contents)进行综合。高度综合数据层:这一层的数据是在轻度综合数据基础上的再一次综合,是一种准决策数据。6.1.2数据仓库结构元数据高度综合数据层轻度综合数据层当前基本数据层历史数据层•数据仓库工作范围和成本常常是巨大的。开发数据仓库是代价很高、时间较长的大项目。•提供更紧密集成的数据集市就应运产生。•目前,全世界对数据仓库总投资的一半以上均集中在数据集市上。6.1.3数据集市(DataMarts)•数据集市(DataMarts)是一种更小、更集中的数据仓库,为公司提供分析商业数据的一条廉价途径。•数据集市是指具有特定应用的数据仓库,主要针对某个应用或者具体部门级的应用,支持用户获得竞争优势或者找到进入新市场的具体解决方案。数据集市概念独立数据集市(IndependentDataMart)从属数据集市(DependentDataMart)数据集市的种类1、规模是小的2、特定的应用3、面向部门4、由业务部门定义,设计和开发5、由业务部门管理和维护6、快速实现7、购买较便宜8、投资快速回收9、工具集的紧密集成10、更详细的、预先存在的数据仓库的摘要子集11、可升级到完整的数据仓库数据集市的特性元数据是数据仓库的重要组成部分。元数据描述了数据仓库的数据和环境,即关于数据的数据(metadata)元数据包括四种元数据。6.1.4元数据元数据是现有的业务系统的数据源的描述信息。元数据是对不同平台上的数据源的物理结构和含义的描述。具体为:(1)数据源中所有物理数据结构,包括所有的数据项及数据类型。(2)所有数据项的业务定义。(3)每个数据项更新的频率,以及由谁或那个过程更新的说明。(4)每个数据项的有效值。1、关于数据源的元数据数据仓库的数据模型是星型模型。通常企业数据模型被用作建立仓库数据模型的起始点,再对模型加以修改和变换。2、关于数据模型的元数据元数据是数据源与数据仓库数据间的映射。当数据源中的一个数据项与数据仓库建立了映射关系,就应该记下这些数据项发生的任何变换或变动。即用元数据反映数据仓库中的数据项是从哪个特定的数据源填充的,经过那些转换,变换和加载过程。3、关于数据仓库映射的元数据这类元数据是数据仓库中信息的使用情况描述。数据仓库的用户最关心的是两类元数据:(1)元数据告诉数据仓库中有什么数据,它们从哪里来。即如何按主题查看数据仓库的内容。(2)元数据提供已有的可重复利用的查询语言信息。如果某个查询能够满足他们的需求,或者与他们的愿望相似,他们就可以再次使用那些查询而不必从头开始编程。关于数据仓库使用的元数据能帮助用户到数据仓库查询所需要的信息,用于解决企业问题。4、关于数据仓库使用的元数据6.2数据仓库系统6.2.1数据仓库系统结构数据仓库系统由数据仓库(DW)、仓库管理和分析工具三部分组成。1、数据仓库管理系统(1)定义部分用于定义和建立数据仓库系统。它包括:(1)设计和定义数据仓库的数据库(2)定义数据来源(3)确定从源数据向数据仓库复制数据时的清理和增强规则(2)数据获取部分该部件把数据从源数据中提取出来,依定义部件的规则,抽取、转化和装载数据进入数据仓库。(3)管理部分它用于管理数据仓库的工作,包括:(1)对数据仓库中数据的维护(2)把仓库数据送出给分散的仓库服务器或DSS用户(3)对仓库数据的安全、归档、备份、恢复等处理工作1、数据仓库管理系统(4)信息目录部件(元数据)数据仓库的目录数据是元数据,由三部分组成:技术目录:由定义部件生成,关于数据源、目标、清理规则、变换规则以及数据源和仓库之间的映象信息。业务目录:由仓库管理员生成,关于仓库数据的来源及当前值;预定义的查询和报表细节;合法性要求等。信息引导器:使用户容易访问仓库数据。利用固定查询或建立新的查询,生成暂时的或永久的仓库数据集合的能力等。1、数据仓库管理系统分析工具集分两类工具:(1)查询工具数据仓库的查询不是指对记录级数据的查询,而是指对分析要求的查询。一般包含:可视化工具:以图形化方式展示数据,可以帮助了解数据的结构,关系以及动态性。2、数据仓库工具集多维分析工具(OLAP工具):通过对信息的多种可能的观察形式进行快速、一致和交互性的存取,这样便利用户对数据进行深入的分析和观察。多维数据的每一维代表对数据的一个特定的观察视角,如时间、地域、业务等。2、数据仓库工具集(2)数据挖掘工具从大量数据中挖掘具有规律性知识,需要利用数据挖掘(DataMining)工具。2、数据仓库工具集3、数据仓库的运行结构数据仓库应用是一个典型的客户/服务器(C/S)结构形式。数据仓库采用服务器结构,客户端所做的工作有:客户交互、格式化查询、结果显示、报表生成等。服务器端完成各种辅助决策的SQL查询、复杂的计算和各类综合功能等。现在,越来越普通的一种形式是三层C/S结构形式,即在客户与数据仓库服务器之间增加一个多维数据分析(OLAP)服务器。客户端OLAP服务器数据仓库服务器OLAP服务器将加强和规范化决策支持的服务工作,集中和简化了原客户端和数据仓库服务器的部分工作,降低了系统数据传输量。这种结构形式工作效率更高。三层C/S结构数据仓库存储采用多维数据模型。维就是相同类数据的集合。例如:商店的集合是一维,时间的集合是一维,商品的集合是一维;每一个商店、每一段时间、每一种商品就是某一维的一个成员;每一个销售事实由一个特定的商品、一个特定的时间、一个特定的商品组成。两维表,如通常的电子表格。三维构成立方体,若再增加一维,则图形很难想象,也不容易在屏幕上画出来。6.2.2数据仓库的存储数据仓库是以多维表型的“维表—事实表”结构形式组织的,共有三种形式:1、星型模型大多数的数据仓库都采用“星型模型”。星型模型是由“事实表”(大表)以及多个“维表”(小表)所组成。“事实表”中存放大量关于企业的事实数据(数量数据)。星型模型数据如下图:2、雪花模型雪花模型是对星型模型的扩展,雪花模型对星型模型的维表进一步层次化,原来的各维表可能被扩展为小的事实表,形成一些局部的“层次”区域。它的优点是最大限度地减少数据存储量,以及把较小的维表联合在一起来改善查询性能。在上面星型模型的数据中,对“产品表”“日期表”“地区表”进行扩展形成雪花模型数据见下图。3、星网模型星网模型是将多个星型模型连接起来形成网状结构。多个星型模型通过相同的维,如时间维,连接多个事实表。联机分析处理(OnLineAnalyticalProcessing,OLAP)的概念最早是由关系数据库之父E.F.Codd于1993年提出的。在数据仓库系统中,联机分析处理是重要的数据分析工具。OLAP的基本思想是从多方面和多角度以多维的形式来观察企业的状态和了解企业的变化。6.3联机分析处理6.3.1基本概念OLAP是在OLTP的基础上发展起来的。OLTP是以数据库为基础的,面对的是操作人员和低层管理人员,对基本数据的查询和增、删、改等进行处理。OLAP是以数据仓库为基础的数据分析处理。它有两个特点:一是在线性(OnLine),由客户机/服务器这种体系结构来完成的;二是多维分析,这也是OLAP的核心所在。1、OLAP的定义联机分析处理是共享多维信息的快速分析。它体现了四个特征:(1)快速性:用户对OLAP的快速反应能力有很高的要求。(2)可分析性:OLAP系统应能处理任何逻辑分析和统计分析。(3)多维性:系统必须提供对数据分析的多维视图和分析。(4)信息性:OLAP系统应能及时获得信息,并且管理大容量的信息1993年,E.F.Codd提出OLAP的12条准则,其主要的准则有:多维数据分析;客户/服务器结构;多用户支持;一致的报表性能等。2、OLAP准则3.多维概念视图•企业的数据空间本身就是多维的。因此OLAP的概念模型也应是多维的。•用户可以对多维数据模型进行切片、切块、旋转坐标或进行多维的联合(概括和聚集)分析。4.稳定的报表性能报表操作不应随维数增加而削弱,即当数据维数和数据的综合层次增加时,提供的报表能力和响应速度不应该有明显的降低。5.客户/服务器体系结构OLAP是建立在客户/服务器体系结构上的。要求多维数据库服务器能够被不同的应用和工具所访问。8.多用户支持当多个用户要在同一分析模式上并行工作,需要这些功能的支持。11.灵活的报表生成报表必须充分反映数据分析模型的多维特征,并可按用户需要的方式来显示它。OLAP是针对特定问题的联机数据访问和分析。(1)变量:变量是数据的实际意义,即描述数据“是什么”。(2)维:维是人们观察数据的特定角度。如产品维、顾客维、时间维等。(3)维的层次:数据的细节不同程度为维的层次。如日、月、季、年是时间维的层次。(4)维成员:维的一个取值称为该维的一个维成员。如“某年某月某日”是时间维的一个成员。3、OLAP的基本概念(5)多维数组:一个多维数组可以表示为:(维1,维2,……,维n,变量)一个5维的结构,即(产品,地区,时间,销售渠道,销售额)。(6)数据单元(单元格):多维数组的取值称为数据单元。如:5维数据单元(牙膏,上海,1998年12月,批发,销售额为100000)。3、OLAP的基