第6章数据仓库与数据挖掘的决策支持6.1数据仓库的基本原理6.1.1数据仓库概念6.1.2数据仓库结构6.1.3数据集市6.1.4元数据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、数据仓库特点(5)数据仓库的数据量大.大型DW是一个TB(1000GB)级数据库问题(一般为10GB级相当于一般数据库100MB的100倍)(6)数据仓库的硬件要求较高需要一个巨大的硬件平台需要一个并行的数据库系统.最好的数据仓库是大的和昂贵的。近期基本数据:是最近时期的业务数据,是数据仓库用户最感兴趣的部分,数据量大。历史基本数据:近期基本数据随时间的推移,由数据仓库的时间控制机制转为历史基本数据。轻度综合数据:是从近期基本数据中提取出的,这层数据是按时间段选取,或者按数据属性(attributes)和内容(contents)进行综合。高度综合数据层:这一层的数据是在轻度综合数据基础上的再一次综合,是一种准决策数据。6.1.2数据仓库结构元数据:整个数据仓库的组织结构由元数据组织,它不包含数据仓库中的实际数据信息。作用:(1)定位数据仓库的目录内容(2)数据从业务环境向数据仓库环境传递时数据仓库的目录内容(3)指导从当前基本数据到轻度综合数据到高度综合数据的综合算法的选择。组成:(1)数据结构(2)用于综合的算法(3)从业务环境到DW规划6.1.2数据仓库结构元数据高度综合数据层轻度综合数据层当前基本数据层历史数据层数据仓库结构图元数据是数据仓库的重要组成部分。元数据描述了数据仓库的数据和环境,即关于数据的数据(metadata)。元数据就相当于数据库系统中的数据字典元数据包括四种元数据•关于数据源的元数据•关于数据模型的元数据•关于数据仓库映射的元数据•关于数据仓库使用的元数据6.1.4元数据它是现有的业务系统的数据源的描述信息。这类元数据是对不同平台上的数据源的物理结构和含义的描述。具体为:(1)数据源中所有物理数据结构,包括所有的数据项及数据类型。(2)所有数据项的业务定义。(3)每个数据项更新的频率,以及由谁或哪个过程更新的说明。(4)每个数据项的有效值。1、关于数据源的元数据这类元数据描述了数据仓库中有什么数据以及数据之间的关系,它们是用户使用管理数据仓库的基础。这类元数据可以支持用户从数据仓库中获取数据。数据仓库的数据模型是星型模型。通常企业数据模型被用作建立仓库数据模型的起始点,再对模型加以修改和变换。2、关于数据模型的元数据这类元数据是数据源与数据仓库数据间的映射。当数据源中的一个数据项与数据仓库建立了映射关系,就应该记下这些数据项发生的任何变换或变动。即用元数据反映数据仓库中的数据项是从哪个特定的数据源填充的,经过那些转换、变换和加载过程3、关于数据仓库映射的元数据3、关于数据仓库映射的元数据一个抽取要经过以下几个步聚获取过滤验证融合综合装载存档从源系统的数据到数据仓库中的目标数据的转移是一项复杂的工作,其工作量占整个数据仓库开发的70%这类元数据是数据仓库中信息的使用情况描述。数据仓库的用户最关心的是两类元数据:(1)元数据告诉数据仓库中有什么数据,它们从哪里来。即如何按主题查看数据仓库的内容。(2)元数据提供已有的可重复利用的查询语言信息。如果某个查询能够满足他们的需求,或者与他们的愿望相似,他们就可以再次使用那些查询而不必从头开始编程。关于数据仓库使用的元数据能帮助用户到数据仓库查询所需要的信息,用于解决企业问题。4、关于数据仓库使用的元数据1.数据集市的产生数据仓库工作范围和成本常常是巨大的。开发数据库是代价很高、时间较长的大项目。提供更紧密集成的数据集市就应运产生。目前,全世界对数据仓库总投资的一半以上均集中在数据集市上。6.1.3数据集市(DataMart)数据集市(DataMarts)是一种更小、更集中的数据仓库,为公司提供分析商业数据的一条廉价途径。数据集市是指具有特定应用的数据仓库,主要针对某个应用或者具体部门级的应用,支持用户获得竞争优势或者找到进入新市场的具体解决方案2.数据集市概念3.数据集市与数据仓库的关系数据集市不等于数据仓库,多个数据集市简单合并起来不能成为数据仓库。各数据集市之间对详细数据和历史数据的存储存在大量冗余。同一个问题在不同的数据集市的查询结果可能不一致,甚至互相矛盾。各数据集市之间以及与源数据库系统之间难以管理。1、规模小2、特定的应用3、面向部门4、由业务部门定义,设计和开发5、由业务部门管理和维护6、快速实现7、购买较便宜8、投资快速回收9、工具集的紧密集成10、更详细的、预先存在的数据仓库的摘要子集11、可升级到完整的数据仓库4.数据集市的特性5.两种数据集市结构从属数据集市(DependentDataMart)从属:数据直接来自中央数据库,能够保持数据的一致性。关键业务部门建立从属的数据集市,可以很好的查询反应速度。5.两种数据集市结构独立数据集市(IndependentDataMart)独立:数据直接来自各生产系统。从投资考虑,用来解决各个部门比较迫切的决策问题。6.数据集市与数据仓库的差别数据仓库是基于整个企业的数据模型建立的,它面向企业范围的主题;数据集市是按照某一特定部门的数据模型建立的,由于每个部门有自己特定的需求,因此,对他们对数据集市的期望也不一样,也称作部门级数据仓库部门的主题与企业的主题之间可能存在关联,也可能不存在关联。数据集市的数据组织一般采用星形模型,大型数据仓库的数据组织采用第三范式。6.2数据仓库系统6.2.1数据仓库系统结构数据仓库系统由数据仓库(DW)、仓库管理和分析工具三部分组成1、数据仓库管理系统(1)定义部分用于定义和建立数据仓库系统。它包括:•设计和定义数据仓库的数据库•定义数据来源•确定从源数据向数据仓库复制数据时的清理和增强规则(2)数据获取部分该部件把数据从源数据中提取出来,依定义部件的规则,抽取、转化和装载数据进入数据仓库。(3)管理部分它用于管理数据仓库的工作,包括:•对数据仓库中数据的维护•把仓库数据送出给分散的仓库服务器或DSS用户•对仓库数据的安全、归档、备份、恢复等处理工作1、数据仓库管理系统(4)信息目录部件(元数据)数据仓库的目录数据是元数据,由三部分组成:技术目录:由定义部件生成,关于数据源、目标、清理规则、变换规则以及数据源和仓库之间的映象信息。业务目录:由仓库管理员生成,关于仓库数据的来源及当前值;预定义的查询和报表细节;合法性要求等。信息引导器:使用户容易访问仓库数据。利用固定查询或建立新的查询,生成暂时的或永久的仓库数据集合的能力等。(5)DBMS部分DW的存储形式仍为关系型数据库。1、数据仓库管理系统分析工具集分两类工具:(1)查询工具数据仓库的查询不是指对记录级数据的查询,而是指对分析要求的查询。一般包含:可视化工具:以图形化方式展示数据,可以帮助了解数据的结构、关系以及动态性。2、数据仓库工具集多维分析工具(OLAP工具):通过对信息的多种可能的观察形式进行快速、一致和交互性的存取,这样便利用户对数据进行深入的分析和观察。多维数据的每一维代表对数据的一个特定的观察视角,如时间、地域、业务等。2、数据仓库工具集(2)数据挖掘工具从大量数据中挖掘具有规律性知识,需要利用数据挖掘(DataMining)工具。2、数据仓库工具集3、数据仓库的运行结构数据仓库应用是一个典型的客户/服务器(C/S)结构形式数据仓库采用服务器结构,客户端所做的工作有:客户交互、格式化查询、结果显示、报表生成等。服务器端完成各种辅助决策的SQL查询、复杂的计算和各类综合功能等。现在,越来越普通的一种形式是三层C/S结构形式,即在客户与数据仓库服务器之间增加一个多维数据分析(OLAP)服务器。客户端OLAP服务器数据仓库服务器OLAP服务器将加强和规范化决策支持的服务工作,集中和简化了原客户端和数据仓库服务器的部分工作,降低了系统数据传输量。这种结构形式工作效率更高。三层C/S结构6.2.2数据仓库的存储数据仓库存储采用多维数据模型。维就是相同类数据的集合,商店、时间和产品都是维各个商店的集合是一维,时间的集合是一维,商品的集合是一维。每一个商店、每一段时间、每一种商品就是某一维的一个成员。每一个销售事实由一个特定的商品、一个特定的时间、一个特定的商品组成。两维表,如通常的电子表格。三维构成立方体,若再增加一维,则图形很难想象,也不容易在屏幕上画出来。数据仓库是以多维表型的“维表—事实表”结构形式组织的,共有三种形式:1、星型模型大多数的数据仓库都采用“星型模型”。星型模型是由“事实表”(大表)以及多个“维表”(小表)所组成。“事实表”中存放大量关于企业的事实数据(数量数据)。例如:多个时期的数据可能会出现在同一个“事实表”中。“维表”中存放描述性数据,维表是围绕事实表建立的较小的表6.2.2数据仓库的存储2、雪花模型雪花模型是对星型模型的扩展,雪花模型对星型模型的维表进一步层次化,原来的各维表可能被扩展为小的事实表,形成一些局部的“层次”区域。它的优点是最大限度地减少数据存储量,以及把较小的维表联合在一起来改善查询性能。在上面星型模型的数据中,对“产品表”“日期表”“地区表”进行扩展形成雪花模型数据见下图。6.2.2数据仓库的存储3、星网模型星网模型是将多个星型模型连接起来形成网状结构。多个星型模型通过相同的维,如时间维,连接多个事实表。6.2.2数据仓库的存储第(2)部分6.3联机分析处理(OLAP)6.4数据仓库的决策支持6.3联机分析处理联机分析处理(OnLineAnalyticalProcessing,OLAP)的概念最早是由关系数据库之父E.F.Codd(科德)于1993年提出的。在数据仓库系统中,联机分析处理是重要的数据分析工具。OLAP的基本思想是从多方面和多角度以多维的形式来观察企业的状态和了解企业的变化。6.3.1基本概念OLAP是在OLTP(联机事务处理系统)的基础上发展起来的。OLTP是以数据库为基础的,面对的是操作人员和低层管理人员,对基本数