数据仓库与数据挖掘 第三章_第1页
数据仓库与数据挖掘 第三章_第2页
数据仓库与数据挖掘 第三章_第3页
数据仓库与数据挖掘 第三章_第4页
数据仓库与数据挖掘 第三章_第5页
已阅读5页,还剩115页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、0n 3.1 3.1 数据仓库的系统设计方法数据仓库的系统设计方法n 3.2 3.2 数据仓库设计的数据模型数据仓库设计的数据模型n 3.3 3.3 如何提高数据仓库的性能如何提高数据仓库的性能n 3.4 3.4 数据仓库设计步骤数据仓库设计步骤n 要求要求: :n 掌握数据仓库的设计掌握数据仓库的设计第三章第三章数据仓库设计数据仓库设计1n 3.1 3.1 数据仓库的系统设计方法数据仓库的系统设计方法n 3.2 3.2 数据仓库数据的设计模型数据仓库数据的设计模型n 3.3 3.3 如何提高数据仓库的性能如何提高数据仓库的性能n 3.4 3.4 数据仓库设计步骤数据仓库设计步骤n 要求要求:

2、 :n 掌握数据仓库的设计掌握数据仓库的设计第三章第三章数据仓库设计数据仓库设计2第三章第三章数据仓库设计数据仓库设计nBILL INMON 于1998年在一个著名商贸杂志上说:“今年IT经理们面对的最重要的问题就是到底是先建立数据仓库还是先建立数据集市。”n构建数据仓库两种不同的基本方法:自顶向下自底向上3第三章第三章数据仓库设计数据仓库设计数据仓库数据集市n完整的/从企业整体考虑的n所有数据集市的集合n通过展示的方式进行查询n基于公司数据视角的结构n通过实体关系模式进行组织n部门的n一个单独的商业处理过程n星型结构(事实表和维度表)n适合数据连结和分析的技术n基于适合部门数据视角的结构4第

3、三章第三章数据仓库设计数据仓库设计n自上而下自上而下n优点:优点:可以从整个企业的角度来看待数据;可以从整个企业的角度来看待数据;有机的结合有机的结合-不是由彼此分离的数据集市组成不是由彼此分离的数据集市组成对数据内容惟一、集中的存储;对数据内容惟一、集中的存储;集中控制和集中的规则;集中控制和集中的规则;对反复的查询能够做出快速的反应;对反复的查询能够做出快速的反应;n缺点:需要花较多的时间建造;失败的风险很大;缺点:需要花较多的时间建造;失败的风险很大;需要高水平的综合技能;费用很高;需要高水平的综合技能;费用很高;5第三章第三章数据仓库设计数据仓库设计n自下而上自下而上n优点:优点:实施

4、快速而方便;实施快速而方便;良好的投资回报;良好的投资回报;失败的风险较小;失败的风险较小;渐进地,可以先建立重要的数据集市;渐进地,可以先建立重要的数据集市;项目团队可以从中学习和成长;项目团队可以从中学习和成长;n缺点:每一个数据集市对数据的视角都比较窄;每个数据集缺点:每一个数据集市对数据的视角都比较窄;每个数据集市都有多余数据;总是有矛盾和不一致的数据;增加市都有多余数据;总是有矛盾和不一致的数据;增加无法管理的接口。无法管理的接口。6第三章第三章数据仓库设计数据仓库设计n结合二者的折中方法看来可行。主要推崇者是ralph kimball(著名的数据仓库专家)。n步骤:从整个公司的角度

5、来计划和定义需求;为完整的仓库创造一个体系结构;使数据内容一致而且标准化;将数据仓库作为一组超级数据集市来实施,每次一个。n数据集市就是整个数据仓库系统的逻辑子集。数据仓库就是一致化了的数据集市的集合。7n 数据仓库系统设计与数据库设计的不同:数据仓库系统设计与数据库设计的不同:1.系统设计的目标不同:系统设计的目标不同:数据库是面向事务型处理的,所以事务数据库是面向事务型处理的,所以事务型处理性型处理性能是系能是系统设计的一个主要目标。统设计的一个主要目标。而数据仓库是为了而数据仓库是为了支持决策分析支持决策分析而建立的一种数据存储而建立的一种数据存储集合。在系统设计时,更关心的是建立起一个

6、集合。在系统设计时,更关心的是建立起一个全局一致全局一致的分析型处理环境的分析型处理环境来支持企业的决策分析。来支持企业的决策分析。3.1数据仓库系统设计方法概述数据仓库系统设计方法概述8n 数据仓库系统设计与数据库设计的不同:数据仓库系统设计与数据库设计的不同:2.面向的需求不同:面向的需求不同:数据库系统是数据库系统是面向应用的面向应用的,所以在系统设计时应以此为,所以在系统设计时应以此为出发点和基础。出发点和基础。而在决策分析时,决策者分析问题的角度多种多样,所而在决策分析时,决策者分析问题的角度多种多样,所以数据处理流和信息流不固定,甚至决策者对所要进以数据处理流和信息流不固定,甚至决

7、策者对所要进行的分析处理都不太明了,数据的分析处理的需求更行的分析处理都不太明了,数据的分析处理的需求更灵活。这就决定了在数据仓库系统设计时,灵活。这就决定了在数据仓库系统设计时,不可能从不可能从用户需求出发用户需求出发来进行设计。来进行设计。3.1数据仓库系统设计方法概述数据仓库系统设计方法概述9n数据仓库系统设计与数据库设计的不同:数据仓库系统设计与数据库设计的不同:3.数据来源不同:数据来源不同:数据库系统中数据是从企业外部通过输入得到的,数据库系统中数据是从企业外部通过输入得到的,所以系统设计时就是设计如何与外部对话得到数据所以系统设计时就是设计如何与外部对话得到数据,如何存储这些数据

8、,它,如何存储这些数据,它关心的是数据的安全性和关心的是数据的安全性和完整性完整性等。等。数据仓库中的数据大部分是从企业内部的数据库系数据仓库中的数据大部分是从企业内部的数据库系统得到的,还有一部分是企业外部的非结构化数据统得到的,还有一部分是企业外部的非结构化数据,这些数据都是安全可靠且正确有效的,所以在系,这些数据都是安全可靠且正确有效的,所以在系统设计时它关心的统设计时它关心的不是数据的安全性和完整性,而不是数据的安全性和完整性,而是数据的一致性是数据的一致性。3.1数据仓库系统设计方法概述数据仓库系统设计方法概述10n 数据仓库系统设计与数据库设计的不同:数据仓库系统设计与数据库设计的

9、不同:4.数据的处理类型不同:数据的处理类型不同:数据库系统数据库系统支持的是事务型处理,主要指数据的增、删、支持的是事务型处理,主要指数据的增、删、改、查改、查等等,系统设计时都是针对某一具体应用。等等,系统设计时都是针对某一具体应用。数据仓库是面向分析的,它的数据处理大都是数据仓库是面向分析的,它的数据处理大都是对数据的复杂对数据的复杂查询查询,所以在设计时考虑的是如何更好的面向主题,如何提,所以在设计时考虑的是如何更好的面向主题,如何提高查询的效率等。高查询的效率等。3.1数据仓库系统设计方法概述数据仓库系统设计方法概述11n 数据仓库系统设计与数据库设计的不同:数据仓库系统设计与数据库

10、设计的不同:5.设计方法不同:设计方法不同:由于在数据库系统中业务过程和规则比较规范固定,系统由于在数据库系统中业务过程和规则比较规范固定,系统设计人员能清楚的知道应用需求和数据流程,所以系统设计设计人员能清楚的知道应用需求和数据流程,所以系统设计一般采用系统生命周期法一般采用系统生命周期法(SystemsDevelopmentLifeCycle,SDLC)。在决策分析时,决策人员往往无法给决策需求一个规范的说在决策分析时,决策人员往往无法给决策需求一个规范的说明,只能给出一个模糊的描述,对这种需求不确定的开发过明,只能给出一个模糊的描述,对这种需求不确定的开发过程,设计方法有很大的不同,采用

11、与程,设计方法有很大的不同,采用与SDLC相反的相反的CLDS法法。3.1数据仓库系统设计方法概述数据仓库系统设计方法概述12操作型环境系统的设计一般采取系统生命周期法:(操作型环境系统的设计一般采取系统生命周期法:(SDLCSystemsDevelopmentLifeCycle)数据仓库的设计方法:数据仓库的设计方法:CLDS方法方法(与与SDLC相反相反)应用B应用A应用CSDLC外部数据DBDB数据获取集成构建数据仓库DSS应用编程 系统测试 理解需求数据仓库建模CLDS收集应用需求分析应用需求 构建数据库 应用编程 系统测试 系统实施DBDW3.1数据仓库系统设计方法概述数据仓库系统设

12、计方法概述需求驱动需求驱动数据驱动数据驱动13n数据驱动的系统设计方法:数据驱动的系统设计方法:创建数据仓库的工作是在原有的数据库基础上进行的,那么创建数据仓库的工作是在原有的数据库基础上进行的,那么在原有的数据库系统中有什么呢?在原有的数据库系统中有什么呢?有数据,还有对数据的处有数据,还有对数据的处理即应用理即应用。不论是在数据库系统中,还是在数据仓库环境中,一个企业不论是在数据库系统中,还是在数据仓库环境中,一个企业的数据是固定的,但数据的处理则是特殊的,对同一数据的的数据是固定的,但数据的处理则是特殊的,对同一数据的处理,在企业的不同部门是不同的,在数据库系统和数据仓处理,在企业的不同

13、部门是不同的,在数据库系统和数据仓库系统中也是不同的。库系统中也是不同的。3.1数据仓库系统设计方法概述数据仓库系统设计方法概述14n数据驱动的系统设计方法:数据驱动的系统设计方法:因此,创建数据仓库的工作是在原有的数据库基础上进行的因此,创建数据仓库的工作是在原有的数据库基础上进行的,这这“基础基础”也只能是原有数据库中的数据也只能是原有数据库中的数据,即从已经存在,即从已经存在于操作型环境中的数据出发来进行数据仓库的建设工作于操作型环境中的数据出发来进行数据仓库的建设工作这种这种从已有数据出发的数据仓库设计方法称为从已有数据出发的数据仓库设计方法称为“数据驱动数据驱动”的系统设计方法。的系

14、统设计方法。 3.1数据仓库系统设计方法概述数据仓库系统设计方法概述15n“数据驱动数据驱动”系统设计方法的思路系统设计方法的思路利用以前所取得的工作成果(的数据、代码)来进行系统利用以前所取得的工作成果(的数据、代码)来进行系统建设建设,要能识别出要能识别出当前系统设计与已做工作的当前系统设计与已做工作的“共同性共同性”。即我们在进行数据仓库系统设计前即我们在进行数据仓库系统设计前,需要清楚地知道需要清楚地知道:原原有的数据库系统中已经有什么?它们对当前系统设计有什有的数据库系统中已经有什么?它们对当前系统设计有什么影响?等等么影响?等等;要要尽可能地利用已有的数据、代码尽可能地利用已有的数

15、据、代码等等,而不是什么都而不是什么都从头从头开始开始,这是这是“数据驱动数据驱动”的系统设计方法的出发点,也是的系统设计方法的出发点,也是其目的所在。其目的所在。 3.1数据仓库系统设计方法概述数据仓库系统设计方法概述16n设计方法的关键设计方法的关键利用数据模型利用数据模型(datamodel)来有效地识别原有的数据库中的数来有效地识别原有的数据库中的数据和数据仓库中主题的据和数据仓库中主题的数据的数据的“共同性共同性”3.1数据仓库系统设计方法概述数据仓库系统设计方法概述操作型环境设计操作型处理应用开发与设计DBDB数据仓库环境设计DSS应用开发与设计DW数据模型数据模型的作用数据模型的

16、作用 17n设计方法的关键设计方法的关键 数据模型是联系操作型数据环境的设计、数据仓库数据模型是联系操作型数据环境的设计、数据仓库数据环境的设计、操作型数据处理应用的开发和设计以数据环境的设计、操作型数据处理应用的开发和设计以及及DSSDSS应用的开发与设计的纽带。应用的开发与设计的纽带。 3.1数据仓库系统设计方法概述数据仓库系统设计方法概述18n数据仓库的系统设计是一个动态的反馈和循环的过程数据仓库的系统设计是一个动态的反馈和循环的过程数据仓库的数据内容、结构、粒度、分割以及其它数据仓库的数据内容、结构、粒度、分割以及其它物理设计根据用户所返回的信息不断地调整和完善物理设计根据用户所返回的

17、信息不断地调整和完善不断地理解用户不断地理解用户(确切地讲是领导确切地讲是领导)的分析需求,向用的分析需求,向用户提供更准确、更有用的决策信息户提供更准确、更有用的决策信息3.1数据仓库系统设计方法概述数据仓库系统设计方法概述19n 3.1 3.1 数据仓库的系统设计方法数据仓库的系统设计方法n 3.2 3.2 数据仓库设计模型数据仓库设计模型n 3.3 3.3 如何提高数据仓库的性能如何提高数据仓库的性能n 3.4 3.4 数据仓库设计步骤数据仓库设计步骤n 要求要求: :n 掌握数据仓库的设计掌握数据仓库的设计第三章第三章数据仓库设计数据仓库设计20n 数据仓库方面,一向是数据仓库方面,一

18、向是Inmon和和Kimball两大流派分庭抗礼。两大流派分庭抗礼。 n 他们分别提出了各自的数据仓库设计模型他们分别提出了各自的数据仓库设计模型n Kimball-dimensionalmodeling(多维模型)(多维模型)n Inmon-以以ERmodel为基础的结构(实体关系)模型为基础的结构(实体关系)模型3.1数据仓库系统设计方法概述数据仓库系统设计方法概述213.1数据仓库系统设计方法概述数据仓库系统设计方法概述n目前的商业数据仓库产品的态度:目前的商业数据仓库产品的态度:nsybase,oracle,sqlserver都是主推维度建摸的都是主推维度建摸的;nIBM在信息仓库建设

19、中两面牵就,企图左右逢缘在信息仓库建设中两面牵就,企图左右逢缘;n苦苦坚持的就苦苦坚持的就NCR一家孤家寡人了一家孤家寡人了22nINMON的结构更倾向着眼于的结构更倾向着眼于ADHOC查询和数据挖掘查询和数据挖掘等更广泛的应用等更广泛的应用.n他将所有的数据经过他将所有的数据经过ETL过程后过程后,进行进行3NF的的NORMALIZE,作成一个企业级的数据仓库作成一个企业级的数据仓库(EDW),使用使用者可以直接对这个数据仓库进行查询者可以直接对这个数据仓库进行查询,也可以查询从这个也可以查询从这个数据仓库得到的数据集市数据仓库得到的数据集市.n这个结构能更灵活的应对各种这个结构能更灵活的应

20、对各种BUSINESSQUESTION.3.2数据仓库设计的三级数据模型数据仓库设计的三级数据模型基于基于ER图图233.2.1概念模型概念模型n设计概念模型的目的,是对数据仓库所涉及的现实世界中设计概念模型的目的,是对数据仓库所涉及的现实世界中的所有客观实体进行科学的、全面的分析和抽象,为数据的所有客观实体进行科学的、全面的分析和抽象,为数据仓库的构建制定出仓库的构建制定出“蓝图蓝图”。这是成功构建数据仓库的第。这是成功构建数据仓库的第一步。一步。n概念模型设计的关键,是要保证所有与数据仓库相关的客概念模型设计的关键,是要保证所有与数据仓库相关的客观实体(即业务内容)均能得到准确的理解,并被

21、完整地观实体(即业务内容)均能得到准确的理解,并被完整地包含在模型当中。因此,在设计概念模型时,拥有足够的包含在模型当中。因此,在设计概念模型时,拥有足够的专业业务知识不仅是重要的,而且是必须的。专业业务知识不仅是重要的,而且是必须的。243.2.1概念模型概念模型n概念模型常用的表示方法:概念模型常用的表示方法:方法(实体联系方法)方法(实体联系方法) 描述工具:描述工具:图图1.长方形表示实体,数据仓库中表示主题,框内写上主题名长方形表示实体,数据仓库中表示主题,框内写上主题名2.椭圆形表示主题的属性椭圆形表示主题的属性无向边把主题与其属性连接起来无向边把主题与其属性连接起来3.菱形表示主

22、题之间的联系,菱形框内写上联系的名字菱形表示主题之间的联系,菱形框内写上联系的名字无向边把菱形分别与有关的主题连接无向边把菱形分别与有关的主题连接无向边旁标上联系的类型无向边旁标上联系的类型若联系也有属性若联系也有属性用无向边连接属性和菱形用无向边连接属性和菱形253.2.1概念模型概念模型购买供应顾客固有信息顾客号顾客顾客购物信息日期供应商固有信息供应商供应商号供应商品信息日期商品采购信息商品销售信息商品号商品商品固有信息商品库存信息日期某商场的商品、顾客和供应商之间某商场的商品、顾客和供应商之间的概念模型的的概念模型的E-R图图 263.2.4逻辑模型逻辑模型n概念模型概念模型-E-R图图

23、(Entity-RelationshipDiagram)n逻辑模型逻辑模型-数据项(数据项(dataitemset缩写为缩写为dis) dis是是E-R图的细分图的细分E-R图中的每一个实体图中的每一个实体-一个一个disE-R图disdisdisdis273.2.4逻辑模型逻辑模型n每个每个dis中的数据项分为四个组别:中的数据项分为四个组别:基本数据组基本数据组二级数据组二级数据组联接数据组联接数据组类型数据组类型数据组类型数据组类型数据组关键字关键字*关键字关键字*关键字关键字*关键字关键字*关键字关键字*关键字关键字基本数据组基本数据组二级数据组二级数据组联结数据组联结数据组283.2

24、.4逻辑模型逻辑模型n每个每个dis中的数据项分为四个组别:中的数据项分为四个组别:基本数据组基本数据组:每一个主题都有且只有一个基本数据组,其中包含了对每一个主题都有且只有一个基本数据组,其中包含了对每个主要主题域基本不会发生变化的项。同所有的数据每个主要主题域基本不会发生变化的项。同所有的数据分组一样,基本数据组包含每个主题域的属性和关键字分组一样,基本数据组包含每个主题域的属性和关键字。 二级数据组:二级数据组: 二级数据组包含对每个主题域二级数据组包含对每个主题域基本不变化,但又存在变基本不变化,但又存在变化的可能的数据项化的可能的数据项。从主要数据分组有一向下的直线段。从主要数据分组

25、有一向下的直线段指示出了二级数据分组。有多少个可以出现多次的不同指示出了二级数据分组。有多少个可以出现多次的不同数据分组,就可以含有多少个二级数据组。数据分组,就可以含有多少个二级数据组。293.2.4逻辑逻辑模型模型n每个每个dis中的数据项分为四个组别:中的数据项分为四个组别:联接数据组联接数据组:本主题域与其他主题域间的联系,一个主题的公共码键本主题域与其他主题域间的联系,一个主题的公共码键。类型数据组:类型数据组: 经常变化的数据项。经常变化的数据项。类型数据组由指向数据分组右边的类型数据组由指向数据分组右边的线段指示。左边的类型数据组是超类型,右边的类型数线段指示。左边的类型数据组是

26、超类型,右边的类型数据组是子类型数据组。据组是子类型数据组。303.2.4逻辑模型逻辑模型n联接数据组联接数据组:本主题域与其他主题域间的联系,一个主题的公共码键。本主题域与其他主题域间的联系,一个主题的公共码键。 帐户号 顾客号帐户主题的dis顾客主题的dis313.2.4逻辑模型逻辑模型n其余三种数据组划分的标准其余三种数据组划分的标准:数据稳定程度数据稳定程度稳定性顺序稳定性顺序:基本数据组基本数据组二级数据组二级数据组类型数据组类型数据组“顾客顾客”主题主题基本数据组基本数据组:顾客号、顾客名、性别顾客号、顾客名、性别 每个主题只有一个基本数据组每个主题只有一个基本数据组二级数据组:顾

27、客的住址、文化程度、电话二级数据组:顾客的住址、文化程度、电话类型数据组:顾客的购物记录类型数据组:顾客的购物记录优点:优点:结构清晰,具有相似属性的数据被组织在一起结构清晰,具有相似属性的数据被组织在一起减少了冗余减少了冗余将低频数据与高频数据分开存储将低频数据与高频数据分开存储323.2.3物理模型物理模型n数据仓库的物理模型设计是为逻辑模型设计的数据模型确数据仓库的物理模型设计是为逻辑模型设计的数据模型确定一个最适合应用要求的物理结构,包括存储结构和存取定一个最适合应用要求的物理结构,包括存储结构和存取方法。方法。n物理模型的设计所做的工作是估计存储容量,确定数据的物理模型的设计所做的工

28、作是估计存储容量,确定数据的存储结构,确定索引,确定数据存放位置,确定存储分配存储结构,确定索引,确定数据存放位置,确定存储分配。333.2.3物理模型物理模型n估计存储容量估计存储容量物理模型重点在于物理存储,随着数据仓库的增大,需要知道最初物理模型重点在于物理存储,随着数据仓库的增大,需要知道最初和后来需要多少存储空间;和后来需要多少存储空间;n确定数据的存储计划确定数据的存储计划建立聚集计划建立聚集计划确定数据分区方案确定数据分区方案建立聚类选项建立聚类选项在数据仓库中,很多的数据访问是基于对大量数据的顺序访问,在数据仓库中,很多的数据访问是基于对大量数据的顺序访问,这可以通过聚类来提高

29、性能。聚类是将相关的数据放在存储介质这可以通过聚类来提高性能。聚类是将相关的数据放在存储介质的相邻物理块上管理。使相关联的数据能够在一次输入操作中全的相邻物理块上管理。使相关联的数据能够在一次输入操作中全部取出,提高查询效率。部取出,提高查询效率。343.2.3物理模型物理模型n确定索引策略确定索引策略需要对数据的存取路径进行仔细设计和选择,建立专用需要对数据的存取路径进行仔细设计和选择,建立专用的复杂的索引,以获得最高的存取效率,因为在数据仓的复杂的索引,以获得最高的存取效率,因为在数据仓库中的数据是不常更新的,每个数据存储是稳定的。虽库中的数据是不常更新的,每个数据存储是稳定的。虽然建立索

30、引有一定的代价,但是一旦建立就几乎不需要然建立索引有一定的代价,但是一旦建立就几乎不需要再维护索引。再维护索引。传统的数据库使用的是传统的数据库使用的是B-TREE索引。索引。n确定数据存放位置确定数据存放位置同一个主题的数不要求存放在相同的介质上。在物理设同一个主题的数不要求存放在相同的介质上。在物理设计时,常常要按数据的重要程度、使用频率以及对相应计时,常常要按数据的重要程度、使用频率以及对相应时间的要求进行分类,并将不同类的数据分别存储在不时间的要求进行分类,并将不同类的数据分别存储在不同的存储设备中。同的存储设备中。35nKIMBALL的数据仓库理论强调面向整个企业级别的业务流程主题,

31、例如定单系统,支付系统. n由事实表(由度量类属性如价格和维表外键组成)和维表(各种维度如时间,各自按照不同级别组成)构成.n这些数据来源于DBMS,经过ETL(EXTRACT,CLEAN,CONFORM,DELIVER)过程,存放在数据仓库中,然后供使用者查询. 3.3数据仓库设计的多维数据模型数据仓库设计的多维数据模型36例例销售分析:销售分析: 数据仓库数据仓库salessales围绕商品销售量这个主题。同时,销售围绕商品销售量这个主题。同时,销售量涉及以下几个方面:量涉及以下几个方面:time,item,locationtime,item,location,branchbranch。有

32、。有了这些方面的信息,能够记录商品的月销售,销售商品的了这些方面的信息,能够记录商品的月销售,销售商品的地点。地点。4.5基于关系数据库的基于关系数据库的OLAP实现实现 3.3数据仓库设计的多维数据模型数据仓库设计的多维数据模型37通过将事实表和维表进行连接,我们就可以得到通过将事实表和维表进行连接,我们就可以得到“星型结构(星型结构(starschema)例例销售分析的星型图模型。销售分析的星型图模型。分店维分店维单位销售额单位销售额 现金销售额现金销售额 平均销售额平均销售额 地区维地区维产品维产品维时间维时间维4.5基于关系数据库的基于关系数据库的OLAP实现实现 3.3数据仓库设计的

33、多维数据模型数据仓库设计的多维数据模型38例例销售分析的星型图模型。销售分析的星型图模型。4.5基于关系数据库的基于关系数据库的OLAP实现实现 3.3数据仓库设计的多维数据模型数据仓库设计的多维数据模型39 事实表,包含用于分析的数值化信息和维事实表,包含用于分析的数值化信息和维表的关键字。表的关键字。例例销售分析的星型图模型。销售分析的星型图模型。3.3数据仓库设计的多维数据模型数据仓库设计的多维数据模型40 维表,一个组织想要记录的透视或实体。每一维都有维表,一个组织想要记录的透视或实体。每一维都有一个表与之相关联。他的主键一定会出现在事实表中一个表与之相关联。他的主键一定会出现在事实表

34、中,以便进行表连接。,以便进行表连接。4.5基于关系数据库的基于关系数据库的OLAP实现实现 3.3数据仓库设计的多维数据模型数据仓库设计的多维数据模型41星型模式(Star Schema)n“星型模式星型模式”通过通过维表的主码维表的主码,将事实表与维表连接在一起,将事实表与维表连接在一起,完全用二维关系表示了数据的多维概念。,完全用二维关系表示了数据的多维概念。n建立建立“星型模式星型模式”后,可以在关系数据库中模拟数据的多维后,可以在关系数据库中模拟数据的多维查询。通过维表的主码,对事实表和每一个维表做查询。通过维表的主码,对事实表和每一个维表做连接操作连接操作,一次查询就可以从得到数据

35、的值以及对数据的多维描述(,一次查询就可以从得到数据的值以及对数据的多维描述(即对应的各维上的维成员)。即对应的各维上的维成员)。3.3数据仓库设计的多维数据模型数据仓库设计的多维数据模型42星型模式星型模式(StarSchema)n维度表的特征:维度表的特征:维度表键。维度表的主键,可以惟一的确定表的每一行;维度表键。维度表的主键,可以惟一的确定表的每一行;维度表很宽:一个典型的维度表会有相当多的属性维度表很宽:一个典型的维度表会有相当多的属性/列。有列。有一些维度表有一些维度表有50个以上的属性。个以上的属性。文本属性:很难找到用于计算的数值数据;文本属性:很难找到用于计算的数值数据;非规

36、范化非规范化上钻上钻/下钻:维度表中的属性提供了获取从高层次的汇总信下钻:维度表中的属性提供了获取从高层次的汇总信息到低层次细节信息的能力。息到低层次细节信息的能力。多级层次结构多级层次结构更少的记录更少的记录3.3数据仓库设计的多维数据模型数据仓库设计的多维数据模型43星型模式星型模式(StarSchema)n事实表的特征:事实表的特征:连接的事实表主键:事实表中的一行记录与所有维度表中连接的事实表主键:事实表中的一行记录与所有维度表中的相应记录相关;事实表中的主键必的相应记录相关;事实表中的主键必须是所有维度表主键连接起来的组合键。须是所有维度表主键连接起来的组合键。数据颗粒:事实表的一个

37、重要特征;数据颗粒:事实表的一个重要特征;表很长,但是不宽;表很长,但是不宽;稀疏的数据稀疏的数据;退化的维度:获取的数据如订单号、发票号等,不是事实也不退化的维度:获取的数据如订单号、发票号等,不是事实也不是严格的维度属性。但是分析中有用,依然作为是严格的维度属性。但是分析中有用,依然作为属性保留在事实表中。属性保留在事实表中。3.3数据仓库设计的多维数据模型数据仓库设计的多维数据模型44星型模式星型模式(StarSchema)n不含事实的事实表不含事实的事实表3.3数据仓库设计的多维数据模型数据仓库设计的多维数据模型日期键日期键课程键课程键教授键教授键学生键学生键教室键教室键教授维教授维教

38、室维教室维教授维教授维教授维教授维教授维教授维45星型模式星型模式(StarSchema)n优势优势用户容易理解用户容易理解OLTP用户使用预先定义好的用户界面,没必要理解后用户使用预先定义好的用户界面,没必要理解后台数据结构;台数据结构;数据仓库的用户必须对数据仓库数据非常熟悉;数据仓库的用户必须对数据仓库数据非常熟悉;星型模式完全按照与用户相同的理解关系的方式定义了星型模式完全按照与用户相同的理解关系的方式定义了连接路径。连接路径。在数据仓库的开发阶段与用户交流也变得很容易;在数据仓库的开发阶段与用户交流也变得很容易;3.3数据仓库设计的多维数据模型数据仓库设计的多维数据模型46雪片模式雪

39、片模式n星型模式的问题实际中,数据往往不只有一个维层次。对于维层次复杂的维,用一张维表来描述会带来过多的冗余数据。n为了避免冗余数据占用过大的空间,可以用多张表来描述一个复杂维。比如,产品维可以进一步划分为类型表,颜色表,商标表等,这样在“星”的角上又出现了分支, 这种变种的星型模型被称之为“雪片模式”(Snow Flake Schema)。 3.3数据仓库设计的多维数据模型数据仓库设计的多维数据模型47 例例销售分析的雪花型模型。销售分析的雪花型模型。将维表经规范化处理,将数据将维表经规范化处理,将数据进一步分解到附加表中。进一步分解到附加表中。4.5基于关系数据库的基于关系数据库的OLAP

40、实现实现 3.3数据仓库设计的多维数据模型数据仓库设计的多维数据模型48n雪花模型的优势和缺陷n优势减少存储空间规范化的结构更容易更新n缺陷模式比较复杂,用户不容易理解浏览内容困难额外的连接将使查询性能下降3.3数据仓库设计的多维数据模型数据仓库设计的多维数据模型49 例例销售分析的事实星座模型。销售分析的事实星座模型。两个事实表两个事实表sales和和shipping共享维表共享维表time,item,location。4.5基于关系数据库的基于关系数据库的OLAP实现实现 3.3数据仓库设计的多维数据模型数据仓库设计的多维数据模型50n 3.1 3.1 数据仓库的系统设计方法数据仓库的系统

41、设计方法n 3.2 3.2 数据仓库设计的三级数据模型数据仓库设计的三级数据模型n 3.3 3.3 如何提高数据仓库的性能如何提高数据仓库的性能n 3.43.4 数据仓库设计步骤数据仓库设计步骤n 要求要求: :n 掌握数据仓库的设计掌握数据仓库的设计第三章第三章数据仓库设计数据仓库设计513.3提高数据仓库的性能提高数据仓库的性能n粒度划分粒度划分数据仓库设计中最重要的问题之一:划分粒度数据仓库设计中最重要的问题之一:划分粒度粒度:数据仓库中数据单元的详细程度和级别粒度:数据仓库中数据单元的详细程度和级别数据越详细,粒度越小数据越详细,粒度越小级别就越低级别就越低数据综合度越高,粒度越大数据

42、综合度越高,粒度越大级别就越高级别就越高粒度划分的决定性因素:总的行数不是总的数据量粒度划分的决定性因素:总的行数不是总的数据量523.3提高数据仓库的性能提高数据仓库的性能n划分粒度步骤:划分粒度步骤:1.估算数据的行数估算数据的行数对每一已知表对每一已知表:计算一行所占字节数的最大值、最小值计算一行所占字节数的最大值、最小值对一年内:对一年内:统计可能出现的数据行数的最大行数、最小行数统计可能出现的数据行数的最大行数、最小行数对五年内:对五年内:统计可能出现的数据行数的最大行数、最小行数统计可能出现的数据行数的最大行数、最小行数计算每个表的码所占的字节数计算每个表的码所占的字节数一年产生的

43、数据可能占用的最大空间最大值一年内最大行数索引空间一年产生的数据可能占用的最大空间最大值一年内最大行数索引空间一年产生的数据可能占用的最小空间最小值一年内最小行数索引空间一年产生的数据可能占用的最小空间最小值一年内最小行数索引空间五年产生的数据可能占用的最大空间最大值五年内最大行数索引空间五年产生的数据可能占用的最大空间最大值五年内最大行数索引空间五年产生的数据可能占用的最小空间最小值五年内最小行数索引空间五年产生的数据可能占用的最小空间最小值五年内最小行数索引空间直到计算完所有表直到计算完所有表 533.3提高数据仓库的性能提高数据仓库的性能n划分粒度步骤:划分粒度步骤:2、根据估算出的数据

44、行、根据估算出的数据行和和DASD,决定是否要划分粒度决定是否要划分粒度,如何划分粒度如何划分粒度一般情况下,数据行数越多、所需占用的空间越大,粒度划分的级别一般情况下,数据行数越多、所需占用的空间越大,粒度划分的级别就需要越多。就需要越多。 1 1年期年期 5 5年期年期100 000 000 数据大部分在海量存储器 上,需要认真设计粒度10 000 000 可能有一些数据存储于海 量存储器上,大部分处于 磁盘中,需要考虑粒度问题1 000 000 数据存储在磁盘上,几乎可以 采用任何数据库设计100 000 数据存储在磁盘上,可以采用任 何数据库设计1000 000 000 数据大部分在海

45、量存储器 需 要认真设计粒度100 000 000 可能有一些数据存储于海 量存储器上,大部分处于 磁盘中,需要认真设计粒度10 000 000 数据存储在磁盘上,几乎可 以采用任何数据库设计1000 000 数据存储在磁盘上,可以采用 任何数据库设计54n数据分割:物理存储单元数据分割:物理存储单元-分片分片逻辑上整体的数据逻辑上整体的数据分割成较小的、可以独立管理分割成较小的、可以独立管理n数据库系统中的数据分片方式:数据库系统中的数据分片方式: 水平分片:按一定的条件将一个关系按行分为若干不相交的子集水平分片:按一定的条件将一个关系按行分为若干不相交的子集垂直分片:将关系按列分为若干子集

46、垂直分片:将关系按列分为若干子集导出分片(导出水平分片):水平分片的条件不是本身属性的条件,而是导出分片(导出水平分片):水平分片的条件不是本身属性的条件,而是其他关系的属性的条件其他关系的属性的条件 3.3提高数据仓库的性能提高数据仓库的性能55例如:例如:SC(Sno,Cno,Grade)不是按照学号或课程号或成绩的某类条件分片不是按照学号或课程号或成绩的某类条件分片而是按照学生年龄而是按照学生年龄18岁和岁和18岁来分片岁来分片(学生年龄是学生关系(学生年龄是学生关系Student的属性)的属性) 混合分片:按上述三种分片方式得到的片段继续按另一种方式分片混合分片:按上述三种分片方式得到

47、的片段继续按另一种方式分片 1 1-1 2 2 3-1 3-2 3-3 1-2 (a) (b)混合分片混合分片 3.3提高数据仓库的性能提高数据仓库的性能56n分割形式:分割形式:按时间进行分割按时间进行分割将在同一时段内的数据组织在一起将在同一时段内的数据组织在一起按业务类型按业务类型按地理分布按地理分布组合分割组合分割1996家电类家电类日用化工类日用化工类针织服装类针织服装类副食类副食类第一季度第一季度 分片 分片 分片 分片第二季度第二季度 分片 分片 分片 分片第三季度第三季度 分片 分片 分片 分片第四季度第四季度 分片 分片 分片 分片 表表2-1商品销售数据的分割商品销售数据的

48、分割3.3提高数据仓库的性能提高数据仓库的性能57健康保险健康保险生命保险生命保险事故保险事故保险1988分片1分片2分片31989分片4分片5分片61990分片7分片8分片9 保险公司系统中的数据分割 n数据分割优点:数据分割优点: 提高系统性能提高系统性能“1996年家电类商品销售的季节分布如何?”“每年的第一季度商品销售在各类商品上的分布情况是怎样的?” 提高灵活性提高灵活性 修改数据定义容易修改数据定义容易 不同年份的险种的定义描述是相互独立3.3提高数据仓库的性能提高数据仓库的性能58n选择分割标准考虑的因素:选择分割标准考虑的因素:l 数据量(而非记录行数)数据量(而非记录行数)数

49、据量较小,不分割 数据量很大,考虑采用多重标准的组合l数据分析处理的要求数据分析处理的要求 “商品”主题:按商品大类,商品小类和时间标准分割 “供应商”主题:按地理位置(供应商的地址),时间分割l简单易行简单易行 易于实施,按时间,按业务类型l粒度划分策略等粒度划分策略等3.3提高数据仓库的性能提高数据仓库的性能59n将数据分割标准与粒度的划分策略统一考虑将数据分割标准与粒度的划分策略统一考虑“商品商品”主题主题:关于商品销售数据的粒度是按时间和商品类别综合关于商品销售数据的粒度是按时间和商品类别综合每一粒度层次上:每一粒度层次上:可以按时间和商品类别的组合进行分割可以按时间和商品类别的组合进

50、行分割3.3提高数据仓库的性能提高数据仓库的性能60 1合并表合并表 在数据仓库中,往往存在一些例行的分析处理,它们要求的查询也是例行的、在数据仓库中,往往存在一些例行的分析处理,它们要求的查询也是例行的、相对固定的。相对固定的。当某一例行的查询涉及固定的多个表的数据项,那么就需要首先对这几个表进当某一例行的查询涉及固定的多个表的数据项,那么就需要首先对这几个表进行连接操作,如果这几个表的记录分散存放在几个物理块中时,多个表的存取行连接操作,如果这几个表的记录分散存放在几个物理块中时,多个表的存取和连接操作的代价会很大。和连接操作的代价会很大。为了节省为了节省I/OI/O开销,可以把这些表的记

51、录混合存放在一起,就可以降低表连接开销,可以把这些表的记录混合存放在一起,就可以降低表连接操作的代价。操作的代价。 3.3提高数据仓库的性能提高数据仓库的性能61 1合并表(例子)合并表(例子) 学生姓名SN所属系名SD学生年龄SA S1 ACS 20 S2 BCS 21 S3 CMA 19 S4 DCI 19 S5 EMA 20学号#s 学号 S#课程号 C#学习成绩 G S1 C1 A S1 C2 B S1 C3 C S1 C5 C S2 C1 A S2 C2 A S2 C4 A S3 C2 B S3 C4 D S4 C3 C S4 C5 B S5 C1 B S5 C3 A S5 C4 A

52、S1ACS20 S1C1AS1C2BS1C3CS1C5CS2BCS21S2C1AS2C2AS3C4DS4DCI19 S4C3A SC表记录S表记录学生选课表SC合并合并表3.3提高数据仓库的性能提高数据仓库的性能622建立数据序列建立数据序列重复调页重复调页页面页面1(记录记录1)-页面页面n(记录记录2)-页面页面1(记录记录3)-页面页面2(记录记录4)-图2-8 数据序列 3.3提高数据仓库的性能提高数据仓库的性能633引入冗余引入冗余数据分析处理通常要涉及不同表的多个属性数据分析处理通常要涉及不同表的多个属性,一些表的某些属一些表的某些属性可能在许多地方都要用到性可能在许多地方都要用到

53、,如果这些属性上的值是不常更新如果这些属性上的值是不常更新的话的话,那么我们就可以将这些属性复制到多个主题中,从而减那么我们就可以将这些属性复制到多个主题中,从而减少处理时被存取的表的个数。少处理时被存取的表的个数。3.3提高数据仓库的性能提高数据仓库的性能643引入冗余(例子)引入冗余(例子)例:在商场例:在商场DW中,在中,在“商品商品”主题中有一个保存商品固定信息的关系表主题中有一个保存商品固定信息的关系表:商品商品(商品号、商品名、类别、商品号、商品名、类别、),而在商品销售表或采购表中则只存商品号。而在商品销售表或采购表中则只存商品号。但几乎没有人问但几乎没有人问:“号商品的销售情况

54、如何?号商品的销售情况如何?”而经常问而经常问:“某品牌的冰箱的销售可好?某品牌的冰箱的销售可好?”或或“今年什么类型的洗衣机最畅销?今年什么类型的洗衣机最畅销?”这类问题以商品的一些具体描述信息作为分析的限定条件这类问题以商品的一些具体描述信息作为分析的限定条件,且涉及的有且涉及的有关销售的数据量又很大关销售的数据量又很大,这样就不得不反复存取商品表这样就不得不反复存取商品表,与大量的销售与大量的销售表记录进行连接或半连接操作。表记录进行连接或半连接操作。如果将商品表的一些特定属性加入到销售表或采购表中如果将商品表的一些特定属性加入到销售表或采购表中,即增加数据冗即增加数据冗余余,就可以省去

55、这一步连接操作就可以省去这一步连接操作,减少访问的代价。减少访问的代价。3.3提高数据仓库的性能提高数据仓库的性能65 4 4生成导出数据生成导出数据 导出数据:原始数据上进行汇总或计算的结果导出数据:原始数据上进行汇总或计算的结果预处理,提高联机分析速度预处理,提高联机分析速度更高级别的公用数据,免去不同用户重复计算更高级别的公用数据,免去不同用户重复计算3.3提高数据仓库的性能提高数据仓库的性能665、建立广义索引建立广义索引(creativeindex)n广义索引:用来记录具有某些特殊性质数据的索引广义索引:用来记录具有某些特殊性质数据的索引特点:非常小特点:非常小大大提高查询效率大大提

56、高查询效率例:记录 当月销售最糟糕的10种商品的名称 的索引建立建立“广义索引广义索引”:抽取数据并向数据仓库中装载时建立抽取数据并向数据仓库中装载时建立每次数据仓库装载时,重新生成每次数据仓库装载时,重新生成“广义索引广义索引”的的内容不要为了建立内容不要为了建立“广义索引广义索引”而去扫描数据仓库而去扫描数据仓库n管理管理“广义索引广义索引”: 元数据中完整地定义元数据中完整地定义“广义索引广义索引”说明说明3.3提高数据仓库的性能提高数据仓库的性能67n 3.1 3.1 数据仓库的系统设计方法数据仓库的系统设计方法n 3.2 3.2 数据仓库设计的三级数据模型数据仓库设计的三级数据模型n

57、 3.3 3.3 如何提高数据仓库的物理性能如何提高数据仓库的物理性能n 3.4 3.4 数据仓库设计步骤数据仓库设计步骤n 要求要求: :n 掌握数据仓库的设计掌握数据仓库的设计第三章第三章数据仓库设计数据仓库设计68n 3.1 3.1 数据仓库的系统设计方法数据仓库的系统设计方法n 3.2 3.2 数据仓库设计的三级数据模型数据仓库设计的三级数据模型n 3.3 3.3 如何提高数据仓库的物理性能如何提高数据仓库的物理性能n 3.4 3.4 数据仓库设计步骤数据仓库设计步骤n 要求要求: :n 掌握数据仓库的设计掌握数据仓库的设计第三章第三章数据仓库设计数据仓库设计693.4数据仓库设计步骤

58、数据仓库设计步骤1、数据仓库的系统设计方法不能采用同开发传统的、数据仓库的系统设计方法不能采用同开发传统的OLTP数据库一样的设计方法。数据库一样的设计方法。2、数据仓库系统的原始需求不明确,且不断变化与增加、数据仓库系统的原始需求不明确,且不断变化与增加,开发者最初并不能确切了解到用户的明确而详细的需求开发者最初并不能确切了解到用户的明确而详细的需求3、用户所能提供的是需求的大方向以及部分需求,不能较、用户所能提供的是需求的大方向以及部分需求,不能较准确地预见到以后的需求准确地预见到以后的需求4、采用原型法是比较合适的、采用原型法是比较合适的原型法的思想是从构建系统的简单的基本框架着手,不断

59、原型法的思想是从构建系统的简单的基本框架着手,不断丰富与完善整个系统丰富与完善整个系统 是不断循环、反馈而使系统不断增长与完善的过程自始至终要求决策人员和开发者的共同参与和密切协作自始至终要求决策人员和开发者的共同参与和密切协作70数据仓库设计的大体步骤:数据仓库设计的大体步骤:1.概念模型设计概念模型设计2.技术准备工作技术准备工作3.逻辑模型设计逻辑模型设计4.物理模型设计物理模型设计5.数据仓库生成数据仓库生成6.数据仓库运行与维护数据仓库运行与维护3.4数据仓库设计步骤数据仓库设计步骤711.界定系统边界2.确定主题域 逻辑模型设计逻辑模型设计4.关系模式定义3.记录系统定义1.粒度层

60、次划分2.数据分割策略 物理模型设计物理模型设计1.确定存储结构2.确定索引结构3.确定存放位置4.确定存储分配 技术准备工作技术准备工作1.技术评估2.技术环境准备 概念模型设计概念模型设计 分析主题域, 针对每一个选定的当前实施的主题域1.设计接口2.数据装入数数据据仓仓库库生生成成数据仓库运行与维护数据仓库运行与维护图2-9 数据仓库设计步骤3.4数据仓库设计步骤数据仓库设计步骤72n概念模型设计概念模型设计:1.界定系统边界界定系统边界2.确定主要的主题域及其内容确定主要的主题域及其内容概念模型设计成果概念模型设计成果:在原有的数据库的基础上建立一个较为稳固的概念模型在原有的数据库的基

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论