第二章数据仓库的基本概念_第1页
第二章数据仓库的基本概念_第2页
第二章数据仓库的基本概念_第3页
第二章数据仓库的基本概念_第4页
第二章数据仓库的基本概念_第5页
已阅读5页,还剩133页未读 继续免费阅读

下载本文档

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

文档简介

1、主讲:王名扬主讲:王名扬信息学院信息学院数据仓库与数据挖掘数据仓库与数据挖掘引引 言言 近年来,由于计算机和网络的应用,计算开始向两个不同的方向拓展:u 广度计算广度计算:将计算机的应用范围扩大,实现广泛的数据交流,如互联网的出现;u 深度计算深度计算:希望计算机参与更多的数据分析与决策制定事务型(操作型)数据处理:数据库分析型数据处理:数据仓库u 数据处理的环境由原来的以单一数据库为中心的数据环境发展为以数据仓库为基础的体系化环境。数据仓库的基本概念数据仓库的基本概念第第2章章 数据仓库的基本概念数据仓库的基本概念2.1 什么是数据仓库2.2 数据立方体2.3 数据仓库的三级模型2.4 数据

2、仓库的设计2.5 提高数据仓库设计性能的几种方法2.1 什么是数据仓库什么是数据仓库1. 1. 什么是数据仓库?什么是数据仓库?数据仓库(数据仓库(Data Warehouse)u 数据仓库是为构建分析型数据处理环境而出现的一种数据存储和组织技术。用来保存从多个数据库或其它信息源选取的数据,并为上层应用提供统一用户接口,完成数据查询和分析。u 在数据仓库的发展过程中,许多人作出重要贡献: Devlin & Murphy(1988):发表关于数据仓库论述的最早文章; William H.Inmon(1993):Building the Data Warehouse,首次系统阐述数据仓库的

3、思想、理论,被尊为“数据仓库之父数据仓库之父”。数据仓库(数据仓库(Data Warehouse)u数据仓库的定义很多,但却很难有一种严格的定义数据仓库的定义很多,但却很难有一种严格的定义: 它是一个提供决策支持功能的数据库,它与公司的操作数据库分开维护。 为统一的历史数据分析提供坚实的平台,对信息处理提供支持。u数据仓库是一个面向主题的、集成的、随时间而变化的、不容易丢失的数据集合,支持管理部门的决策过程.-W.H.Inmon数据仓库回答的问题数据仓库将为高层管理人员的科学决策提供可靠依据。 去年各个地区各个产品的销售量和销售额? 10年以来各厂商每季度的销售额占有比例的变化情况? 如果某种

4、产品的销售价格打9折,利润将发生怎样的变化?今年销售量下降的主要因素(时间、地区、部门、商品)是什么?数据仓库的作用两个主要作用: 存储经过加工处理的决策需要的数据 存储数据的一种形式 加工和集成后的再存储 查询和决策分析的依据 为数据驱动型的决策支持提供数据基础数据仓库的关键特征数据仓库的关键特征关键特征:关键特征:u 面向主题;u 集成的;u 随时间而变化的(时变的);u 不容易丢失的(非易失)。1)面向主题在较高层次上对分析对象的数据进行一个完整、一致的描述,能完整、统一管理各个分析对象所涉及的企业各项数据以及数据之间的联系。 高层次:很高的数据抽象级别,如整个企业、组织161)面向主题

5、)面向主题u 面向主题,是数据仓库显著区别于关系数据库系统的一个特征;u 给出数据仓库中数据组织的基本原则,数据仓库中所有数据都是围绕某一主题组织、展开的;主题是一个在较高层次将数据归类的标准,每一个主题基本对应一个宏观的领域。如,一个生产企业的数据仓库所组织的主题可能是产品订货分析和货物发运分析,而按应用组织的话可能为财务子系统、供应子系统、销售子系统、人力资源子系统和生产调度子系统等。 典型的主题领域:客户、产品、交易、账目等。171)面向主题)面向主题u关注决策者的数据建模与分析,而不是集中于组织机构的日常操作和事务处理。181)面向主题)面向主题u 但数据的产生都是基于应用而产生,因此

6、数据在进入数据仓库之前,必然要经过加工和集成,将原始数据结构做一个从面向应用到面向主题面向应用到面向主题的大转变。20【例】一家采用“会员制”经营方式的商场,按业务建立起若干子系统,并按业务处理要求建立各自数据库模式:采购子系统:订单(订单号,供应商号,总金额,日期)订单细则(订单号,商品号,类别,单价,数量)供应商(供应商号,供应商名,地址,电话)销售子系统:顾客(顾客号,姓名,性别,年龄,文化程度,地址,电话)销售(员工号,顾客号,商品号,数量,单价,日期)21人事管理子系统:员工(员工号,姓名,性别,年龄,文化程度,部门号)部门(部门号,部门名称,部门主管,电话)库存管理子系统:领料单(

7、领料单号,领料人,商品号,数量,日期)进料单(进料单号,订单号,进料人,收料人,日期)库存(商品号,库房号,库存量,日期)库房(库房号,仓库管理员,地点,库存商品描述)22传统的面向应用进行数据组织方式的特征为:v重点在“数据”和“处理”;v通常要反映一个企业内数据的动态特征;v所生成的各项数据库模式与企业实际的业务处理流程中所涉及的单据及文档,有很好的对应关系。23面向应用到面向主题的转变面向应用到面向主题的转变: 面向主题的数据组织方式应分为两个步骤: 抽取主题 确定每个主题所包含的数据内容仍以商场为例,它所应有的主题包括:商品、供应商、顾客。每个主题有各自独立的逻辑内涵,对应一个分析对象

8、。24v 商品:商品固有信息:商品号,商品名,类别,颜色等商品采购信息:商品号,供应商号,供应价,供 应日期,供应量等商品销售信息:商品号,顾客号,售价,销售日 期,销售量等商品库存信息:商品号,库房号,库存量,日期 等25v 供应商:供应商固有信息:供应商号,供应商名,地址, 电话等。供应商品信息:供应商号,供应价,供应日期,供应量等。v 顾客:顾客固有信息:顾客号,顾客名,性别,年龄,文化程度,住址,电话等。顾客购物信息:顾客号,商品号,售价,购买日期,购买量等。26q 从面向应用 面向主题丢弃了原来不必要,不适合分析的信息。将分散在各子系统中的有关主题的信息集成,形成关于商品的一致信息。

9、不同主题之间也有重叠的内容,但只是逻辑上的重叠,细节级上的重叠, 另外主题间并不是两两重叠。供应商供应商顾顾 客客商商 品品1)面向主题)面向主题2)集成性)集成性u 一个数据仓库是通过集成多个异种数据源来构造的;关系数据库,一般文件,联机事务处理记录u 数据仓库中的综合数据不能从原有的数据库系统直接得到,需使用数据清理和数据集成技术对数据进行处理:统一源数据中所有矛盾之处(命名约定、编码结构、属性度量等)进行数据综合和计算主要做两个工作:293)数据不易丢失(稳定的)数据不易丢失(稳定的)u 尽管数据仓库中的数据来自于操作数据库,但他们却是在物理上分离保存的操作数据库的更新操作不会出现在数据

10、仓库环境下。u 只进行两种数据访问: 数据的初始装载; 查询操作。314)随时间而变化的(时变的)随时间而变化的(时变的)u 数据仓库从历史的角度来提供信息:时间范围比操作数时间范围比操作数据库系统要长的多据库系统要长的多操作数据库系统: 主要保存当前数据;数据仓库:从历史的角度提供信息(比如过去 5-10 年)u 数据仓库中的每一个关键结构都隐式或显式地包含时间元素,时间维是数据仓库中一个非常重要的维度;u 而操作数据库中的关键结构可能就不包括时间元素。2. 2. 为什么要建立数据仓库?为什么要建立数据仓库?35回顾:数据组织的发展过程回顾:数据组织的发展过程总起来讲,数据组织的发展经历了四

11、个阶段:总起来讲,数据组织的发展经历了四个阶段:p 人工管理阶段(人工管理阶段(1946年年20世纪世纪50年代中期之前)年代中期之前) p 文件系统管理阶段(文件系统管理阶段(20世纪世纪50年代后期到年代后期到60年代中期)年代中期) p 数据库阶段(数据库阶段(20世纪世纪60年代后期年代后期- 80年代中期之前)年代中期之前) p 高级数据库阶段(高级数据库阶段(20世纪世纪80年代中期)年代中期) 36数据程序无独立性数据程序无独立性数据不能长期保存数据不能长期保存数据无法共享数据无法共享人工管理阶段人工管理阶段(1)人工管理阶段 37文件管理阶段文件管理阶段数据程序分开存储数据程序

12、分开存储数据程序相互依赖数据程序相互依赖数据冗余度大数据冗余度大数据不一致性数据不一致性 (2)文件管理阶段38数据程序完全独立数据程序完全独立数据可以共享数据可以共享数据模型表示数据结构数据模型表示数据结构数据库阶段数据库阶段(3)数据库阶段 39分布式数据库分布式数据库多媒体数据库多媒体数据库数据仓库数据仓库高级数据库阶段高级数据库阶段(3)数据库阶段 40从数据库到数据仓库管理信息的处理类型:管理信息的处理类型:(1)事务型处理:)事务型处理:业务操作处理,用来协助企业对相应事件或事务的日常商务活动进行处理。是事件驱动、面向应用的,通常是对一个/组记录的增、删、改以及简单查询等,以满足组

13、织特定的日常管理需要(数据库数据库);(2)分析型处理:)分析型处理:用于管理人员的决策分析,例如DSS、 EIS和多维数据分析等。帮助决策者分析数据以察看趋向、判断问题。分析型处理经常要访问大量的历史数据,支持复杂的查询分析(数据仓库数据仓库)。事务型处理事务型处理分析型处理分析型处理细节的综合的,提炼的当前的代表过去的数据可更新的不可更新,只读的事务驱动分析驱动面向应用面向分析一次操作数据量小一次操作数据量大支持日常操作支持管理需求二者的区别二者的区别42事务型与分析型环境的分离事务型与分析型环境的分离 要摆脱传统数据库面临的困境,必须将用于事务处理的数据环境和用于数据分析的数据环境分离:

14、(1)事务型处理:)事务型处理:以传统数据库为中心数据库为中心进行企业的日常业务处理,其使用人员通常是企业的具体操作人员;处理企业业务的细节细节信息,以实现企业的业务运营;(2)分析型处理:)分析型处理:分析数据背后的关联和规律,为企业决策提供可靠依据,其使用人员通常是企业的中高层管理者,或从事数据分析的工程师;处理企业的宏观宏观信息,而非具体细节,以为企业的决策者提供支持信息。43分离示意图分离示意图44转换同时进行的集成转换同时进行的集成3. 3. 数据仓库与数据挖掘的关系?数据仓库与数据挖掘的关系?u 数据仓库数据仓库:是一种是一种存储存储技术,它能适应于不同技术,它能适应于不同用户对不

15、同决策需要提供所需的数据和信息用户对不同决策需要提供所需的数据和信息。u数据挖掘数据挖掘:是一种是一种分析分析技术,研究各种方法和技术,研究各种方法和技术,从大量的数据中挖掘出有用的信息和知技术,从大量的数据中挖掘出有用的信息和知识。识。二者的区别二者的区别47u 成功的数据挖掘的关键之一是通过访问正确的、完整的和集成的数据,以进行深层次的分析,而这正是数据仓库所能提供的;u 数据仓库不仅是集成数据的一种方式,而且为数据挖掘提供了一个极佳的操作平台;u 如果数据仓库与数据挖掘能实现有效的联结,将给数据挖掘带来各种便利和功能。二者的联系二者的联系48 首先,大多数数据挖掘工具要在集成的、一致的和

16、经过清理的数据上进行挖掘。需要在挖掘过程中有个费用昂贵的数据清理、数据变换和数据集成过程,而已经完成这一系列操作的数据仓库,完全能为数据挖掘提供需要的挖掘数据;二者的联系二者的联系49 其次,在数据仓库的构造过程中,已经围绕数据仓库组建了包括数据存取、数据集成、数据合并、异种数据库转换、ODBC/OLE DB的链接、Web访问和服务工具以及报表与OLAP分析工具等全面的数据处理和数据分析基础设施,而这为数据挖掘的开展提供了重要的基础设施;二者的联系二者的联系50 此外,在数据挖掘过程中,常需要进行探测式的数据分析,选择相关数据,对各种数据选择不同的粒度,以不同的形式提供知识和结果。而数据仓库中

17、的OLAP完全可为数据挖掘提供有关的数据操作支持。u 因此,数据仓库促进了数据挖掘的发展,而数据挖掘可看作联机分析处理的高级阶段。二者的联系二者的联系51注意:注意:数据仓库并不是数据挖掘的必要条件:数据仓库并不是数据挖掘的必要条件: 数据挖掘不一定必须建立在一个数据仓库上,数据仓库不是必要条件; 基于在开发数据仓库过程中所进行的数据集成、清洗和准备,才使得数据仓库对于数据挖掘有着重要的价值。数据挖掘: 数据库中的知识挖掘(KDD) 数据挖掘知识挖掘的核心数据清洗数据清洗数据集成数据集成数据库数据库数据仓库数据仓库任务相关数据任务相关数据选择选择数据挖掘数据挖掘模式评估模式评估典型数据挖掘系统

18、的体系结构2.2 数据立方体数据立方体55数据立方体数据立方体u 数据仓库和OLAP工具是基于多维数据模型的。在多维数据模型中,数据以数据立方体数据立方体(data cube)的形式存在。u 如,某公司可能创建一个数据仓库sales,记录商店的销售情况,且涉及time, item, location。则,典型的3-D数据立方体如图:56数据立方体数据立方体u 尽管我们经常把数据立方体看作3-D几何结构,但实际上,在数据仓库中,数据立方体是n-D的。 u先考察2-D立方体:二维的数据表二维的数据表。 如,如, 要观察要观察Allelectronics公公司销售数据中司销售数据中Vancouver

19、每季度销售每季度销售 的商品。这些数据就可用二维的数的商品。这些数据就可用二维的数据表表示。在此二维表中,据表表示。在此二维表中,Vancouver的销售用维的销售用维time和维和维item表示,表示,所显示的事实或度量是所显示的事实或度量是dollars-sold(单位:(单位:$1000)表表157u假定想根据假定想根据time, item和和location观察数据,其中观察数据,其中location是是城市城市Chicago, New York和和Vancouver。则此。则此3-D的立方体可的立方体可以以以以2-D数据表的序列来表示。数据表的序列来表示。表表258u当然,我们也可直

20、接用当然,我们也可直接用3-D的立方体的形式来表示这些数据。的立方体的形式来表示这些数据。图图159u假定增加一维,如假定增加一维,如supplier来观察销售数据,则此时数据来观察销售数据,则此时数据立方体变成立方体变成4维。观察维。观察4-D事物非常麻烦,但我们可以将其看事物非常麻烦,但我们可以将其看作作3-D立方体的序列。立方体的序列。 维time, item, location, supplier;度量为dollars-sold (单位:$1000)图图260数据立方体数据立方体u多维数据模型为不同角度上的数据建模和观察提供了一个多维数据模型为不同角度上的数据建模和观察提供了一个良好的

21、基础。良好的基础。u 那么,在数据仓库中,如何通过数据立方体来体现数据那么,在数据仓库中,如何通过数据立方体来体现数据仓库的不同的粒度,及数据仓库的数据组织方式的呢?仓库的不同的粒度,及数据仓库的数据组织方式的呢? “概念分层概念分层”的概念;的概念;“方体方体”的概念。的概念。61“概念分层概念分层”u在数据仓库中,一个概念分层(在数据仓库中,一个概念分层(concept hierarchy)定义一)定义一个映射序列,将低层概念映射到更一般的高层概念。个映射序列,将低层概念映射到更一般的高层概念。u 对于一个给定的属性或维,根据不同的用户视图,可能有对于一个给定的属性或维,根据不同的用户视图

22、,可能有多个概念分层:多个概念分层:如,表示如,表示location的概念:杭州的概念:杭州浙江浙江中国中国亚洲;亚洲;u概念分层允许我们在各种抽象级审查和处理数据。概念分层允许我们在各种抽象级审查和处理数据。62Location维的一个概念分层维的一个概念分层allEuropeNorth_AmericaMexicoCanadaSpainGermanyVancouverM. WindL. Chan.TorontoFrankfurtcityallcontinentcountryProvince_or_state63“概念分层概念分层”u概念分层为不同级别上的数据汇总提供了一个良好的基础概念分层为

23、不同级别上的数据汇总提供了一个良好的基础u在多维数据模型中,通过在不同维上定义概念分层,使得用在多维数据模型中,通过在不同维上定义概念分层,使得用户在不同的维上从不同的层次对数据进行观察成为可能。户在不同的维上从不同的层次对数据进行观察成为可能。64方体的格方体的格u方体的格方体的格:给定一个维的集合,将在不同汇总级别上给出的数据立方体称为方体的格。u每个方体的格方体的格都在不同的汇总级或不同的数据子集显示数据。u 0维方体存放最高层的汇总,称作顶点方体顶点方体(如总销售dollars-sold);而存放最底层汇总的方体则称为基本方体基本方体(如图2所示的4维基本方体) 。数据立方体数据立方体

24、一个方体的格一个方体的格alltimeitemlocationsuppliertime,itemtime,locationtime,supplieritem,locationitem,supplierlocation,suppliertime,item,locationtime,item,suppliertime,location,supplieritem,location,suppliertime, item, location, supplier0-D(顶点顶点) 方体方体1-D方体方体2-D 方体方体3-D 方体方体4-D(基本基本) 方体方体66浅绿浅绿:不同产品不同地区;深绿深绿:不

25、同产品浅黄浅黄:不同时间不同地区;深黄深黄:不同时间;浅灰浅灰:不同国家;深蓝深蓝:all2.3 数据仓库的三级模型数据仓库的三级模型68数据仓库的三级模型数据仓库的三级模型(1 1)概念模型:)概念模型:从客观世界到主观认识的映射;从客观世界到主观认识的映射; 首先将现实世界抽象为概念模型,然后再用适合计算机世界的首先将现实世界抽象为概念模型,然后再用适合计算机世界的模型和语言来描述。模型和语言来描述。(2 2)逻辑模型:)逻辑模型:逻辑模型描述了数据仓库主题的逻辑实现逻辑模型描述了数据仓库主题的逻辑实现. .(3 3)物理模型)物理模型逻辑模型在数据仓库中的实现,如数据存储结构、存储策略、

26、逻辑模型在数据仓库中的实现,如数据存储结构、存储策略、索引策略、存储分配优化等。索引策略、存储分配优化等。1. 数据仓库的概念模型?70概念模型的定义概念模型的定义概念模型:概念模型:u是数据仓库的数据模型的第一层或最高层;是数据仓库的数据模型的第一层或最高层;u由于大多数业务数据是多维的,因此不能用传统的操作型由于大多数业务数据是多维的,因此不能用传统的操作型数据库的概念模型来表示多维数据;数据库的概念模型来表示多维数据;u数据仓库用数据仓库用“信息包图信息包图”表示概念模型。表示概念模型。71信息包图信息包图信息包图:信息包图提供了分析人员思维模式的可视化表示。72示例示例例试画出销售分析

27、的信息包图。解:首先根据销售分析的实际需求,确定信息包图的维度、类别、指标与事实:(1)维度:包括日期维、销售地点维、销售产品维、年龄组别维、性别维等。(2)类别:确定各维的详细类别,如:日期维包括年(10)、季度(40)、月(120)等类别,括号中的数字分别指出各类别的数量;销售地点维包括国家(15)、区域(45)、城市(280)、区(880)、商店(2000)等类别,括号中的数字同样分别指出各类别的数量;类似地,可以确定销售产品、年龄组别维、性别维等的详细类别。(3)度量:确定用于进行分析的数值化信息,包括预测销售量、实际销售量和预测偏差等。 73销售分析的信息包图2. 数据仓库的逻辑模型

28、?75逻辑模型的定义逻辑模型的定义逻辑模型:逻辑模型:u 是数据仓库数据模型的第二层;是数据仓库数据模型的第二层;u 通常有三种逻辑模型表示法:通常有三种逻辑模型表示法:星型模型、雪花模型、事星型模型、雪花模型、事实星座模型实星座模型。76几个基本概念几个基本概念u 维和维表:维和维表:维:维:关于一个组织想要记录的关于一个组织想要记录的视角或观点视角或观点。如公司。如公司Allelectronics 创建数据库创建数据库sales,用以记录商店的销售,用以记录商店的销售,则可能涉及则可能涉及time , item , branch , location维。维。维表:维表:每个维都有一个表与之

29、相关联,称为维表。如,每个维都有一个表与之相关联,称为维表。如,item维表可以包含属性维表可以包含属性item-name, brand, type。77u 事实和事实表:事实和事实表:多维数据模型围绕多维数据模型围绕中心主题中心主题组织,该主题用事实表表组织,该主题用事实表表示;示;事实:事实:指的是一些指的是一些数字度量数字度量;如,;如,sales销售数据仓库销售数据仓库的事实包括的事实包括dollars-sold(销售的款项),(销售的款项),units-sold(销销售量售量),amount-budgeted。事实表:事实表:包括事实的名称或度量,以及每个相关维表包括事实的名称或度量

30、,以及每个相关维表的关键字。的关键字。几个基本概念几个基本概念1)星型模型)星型模型u 星型模式星型模式(Star schema)是最常见的一种模型是最常见的一种模型范式。这种模式的数据仓库包括一个大的事实表和范式。这种模式的数据仓库包括一个大的事实表和一组小的维表。一组小的维表。u 事实表在中心,周围围绕地连接着维表事实表在中心,周围围绕地连接着维表(每维一(每维一个)。个)。示例:示例: Allelectronics公司公司sales销售数据仓库的星型模式。销售数据仓库的星型模式。Sales有四个维:有四个维:time, item, branch, location。该模。该模式包含一个中

31、心事实表式包含一个中心事实表sales,该表包含四个维的关,该表包含四个维的关键字和三个度量键字和三个度量dollars-sold, units-sold,avg-sales。80星型模型示例星型模型示例 time_keydayday_of_the_weekmonthquarteryearTime维表location_keystreetcitystate_or_provincecountryLocation维表Sales 事实表 time_key item_key branch_key location_key units_sold dollars_sold avg_salesMeasures

32、item_keyitem_namebrandtypesupplier_typeItem维表branch_keybranch_namebranch_typeBranch维表注意:注意:u在星型模型中,每维只用一个表表示,每个表包含一组每维只用一个表表示,每个表包含一组属性属性。如:location维表包含属性集location-type, street, city, province_or_state, country。u但是,这一限制可能造成某些冗余某些冗余。如,“Vancouver”和“Victoria”都是加拿大不列颠哥伦比亚省的城市。Location维表中这些城市实体的属性provinc

33、e_or_state, country中会有冗余。(2)雪花模型)雪花模型 雪花模型(Snowflake schema): 是星型模型的变种:u在雪花模型中,某些维表是规范化某些维表是规范化的,通过把数据进一步分解到附加表中,以便减少冗余。u结果,模式图形成类似于雪花雪花的形状。示例:示例: Allelectronics公司sales销售数据仓库的雪花模式。其中,事实表Sales与星型模式相同,二者的主要不同是维表。 星型模式中的item单个维表在雪花模式中被规范化,导致新的item表和supplier表,通过item表中的属性supplier-key连接到supplier维表。 星型模式中的

34、location单个维表也被规范化为两个表:新的location和city。通过location表中的属性location -key连接到city维表。 如果愿意,雪花模式中的province_or_state和country还可以进一步规范化。雪花模型示例雪花模型示例time_keydayday_of_the_weekmonthquarteryearTime维表location_keystreetcity_keyLocation维表Sales 事实表 time_key item_key branch_key location_key units_sold dollars_sold avg_s

35、alesMeasuresitem_keyitem_namebrandtypesupplier_keyItem维表维表branch_keybranch_namebranch_typeBranch维表维表supplier_keysupplier_typeSupplier维表维表city_keycitystate_or_provincecountryCity维表85雪花模型:雪花模型: 同星型模型一样,对雪花结构进行OLAP处理,是以外键为基础进行维表与事实表、维表与维表间的关联操作; 但是,相对于星型模型,雪花模型增加了用户必须处理的表的数量,增加了某些查询的复杂性; 由于执行查询需要更多的连接操

36、作,雪花结构可能降低降低浏览的性能因此,在数据仓库设计中,雪花模式不如星型模型流行。(3)事实星座模型)事实星座模型 事实星座模型(Fact constellation): u 复杂的应用(如多主题的数据仓库)可能需要多个事实表共享维表。u这种模式可以看作星型模式集,因此称为星系模式(galaxy schema),或者事实星座(fact constellation)示例:示例: Allelectronics公司sales销售数据仓库和shipping运输数据仓库的事实星座模式。该模式给出两个事实表事实表:sales和shipping。 sales表的定义与星型模式相同。Shipping表有5个

37、维或关键字:item_key ,time_key,shipper_key, from_location, to_location;两个度量:dollars_cost和units_shipped。 sales事实表和shipping事实表共享维表item, time, 和location。883. 数据仓库的物理模型?90物理模型的定义物理模型的定义物理模型:u是逻辑模型在数据仓库中的实现;u主要进行:数据存储结构、存储策略、索引策略、存储分配优化等工作。91存储结构存储结构有两种常见的存储结构:u 1)分布式存储;u 2)集中式存储。921 1)分布式存储)分布式存储分布式存储:u采用磁盘阵列

38、在多个节点间分布的方式来存储数据;u物理上是分布的,但逻辑上是统一的。93补充:补充:两个概念:uSCSI:小型计算机系统接口(SCSI,Small Computer System Interface)是一种用于计算机及其周边设备之间(硬盘、软驱、光驱、打印机、扫描仪等)系统级接口的独立处理器标准。u FC(Fibre Channel):光纤通信。942 2)集中式存储)集中式存储集中式存储:u直接通过FC交换机来直接访问所有的数据而不需要通过其他节点;u 可将节点从数据存储管理的负担中解脱出来,实现数据存储和数据处理的分离。95集中式存储集中式存储96存储策略存储策略考虑因素:数据的重要程度

39、;粒度;使用频率;响应时间等。采取措施:重要程度高、使用频率高或对响应时间要求高的数据存放在高速存储设备上;反之,则存储在低速存储设备上。2.4 数据仓库的设计数据仓库的设计DW设计与设计与DB设计方法比较设计方法比较处理类型不同处理类型不同DB : 操作型数据环境,面向业务DW: 面向主题的分析型数据环境,面向分析,从基本主题开 始,不断发展新主题面向需求不同面向需求不同DB : 一组较确定的应用(业务处理)需求; 较确定的数据流DW: 需求不确切(定);分析处理需求灵活; 没有固定模式;用户对分析处理需求不甚明了; 其设计很难以需求为基础3DW设计与设计与DB设计方法比较(续设计方法比较(

40、续)设计目标不同设计目标不同DB : 事务处理的性能(OLTP),支持多用户并发访问,高效 的增、删、改操作DW: 建立DSS的数据环境, 全局的分析环境,支持用户快速的 分析和查询数据来源不同数据来源不同DB : 企业的业务流程中产生的数据DW: 系统内部,主要从OLTP系统中获取,经过转换、重组、 综合; 同时包括部分外部信息4DW设计与设计与DB设计方法比较(续设计方法比较(续)设计方法不同DB : SDLC(System Development Life Cycle) 应用需求驱动DW: CLDS 数据驱动(中心)需求驱动5数据仓库设计的原则数据仓库设计的原则 坚持“以数据驱动为中心,

41、数据驱动和需求驱动相以数据驱动为中心,数据驱动和需求驱动相 结合结合”的原则。 数据驱动是指根据当前数据基础和质量等情况, 进行数据源分析。 需求驱动是指根据业务方向性需求、业务问题 等,确定系统范围和需求框架。106Inmon: SDLC与与CLDS方法比较方法比较需求分析编程 收集需求 分析 设计数据仓库编程 实现数据仓库 集成数据 检验偏差CLDS方法方法 编程 针对数据编程需求 测试 集成 实现SDLC方法方法 设计DSS系统 分析结果 理解需求SDLC与与CLDS方法比较方法比较外部数据应用A应用B应用CDBDB收集应用需求分析应用需求数据仓库建模数据获取与集成DB构建数据库应用编程

42、系统测试系统实施SDLC方法方法构建数据仓库DSS应用编程系统测试理解需求CLDS方法方法7在数据仓库建设过程中明确需求 数据仓库建造过程中,如果开发者等到完全明确需 求之后开始工作,那么这个仓库永远建不起来 开发人员与DSS分析员的反馈循环十分重要911在实际工程中的设计方法在实际工程中的设计方法分析处理需求收集源 数 据分 析 数据仓库的设计和实现是一项工 程,是不断建立、发展和完善、循数据仓库设计数据集成DSS应用编程系统测试进一步理解需求 环求精的过程,并不是一个可以简 单购买的产品。2.5 提高数据仓库性能的几提高数据仓库性能的几种方法种方法性能问题性能问题 提高系统性能, 主要是要

43、提高系统的物理I/O性能。 在数据仓库的设计中,应尽量减少每次查询处理要求的I/O次数, 而使每次I/O又能返回尽量多的记录。提高数据仓库性能的主要途径:提高数据仓库性能的主要途径:u (1)粒度划分粒度划分u (2)数据分片u (3)合并表u (4)选择冗余u (5)其他方法数据模型物理数据库设计31108(3 3)粒度的选择)粒度的选择u 粒度的确定是数据仓库开发者需要解决的最重要的单一设计问题。u数据粒度指的是数据仓库中保存数据的细化或者综合程度。如,企业的销售数据可以是最原始的细节数据,也可以是一个星期、一个月、一年的汇总数据。数据的综合程度不同,其数据量将相差很大。数据粒度越小,信息

44、越细节,数据量越大;反之,粒度越大,忽略了众多的细节,数据量越小。u数据仓库中不同的数据组织形式,即是“粒度”的直观体现。(1)粒度划分)粒度划分 粒度:数据的综合程度。 例如:细节 轻度综合 高度综合l 一张表的数据量很大时,就需要两个级别的粒度。l 粒度的划分,主要考虑行数。因为按行组织索引,索 引依赖于行数,索引大小直接影响I/O次数。l 有关专家认为,如果数据量只有10000行时,不考虑粒 度,如果有一千万行时,就需要一个较高的粒度级。32110粒度对数据分析的影响粒度对数据分析的影响 在设计数据仓库时,设计者采取数据的什么层次作为粒度的划分标准,将直接影响数据仓库中数据的存储量及查询

45、质量,并进一步影响到系统能否满足最终用户的分析需求。从如下几个方面介绍其影响:u对数据仓库逻辑结构设计的影响;u对数据仓库数据存储的影响;u对数据仓库分析效果的影响。1111 1)对逻辑结构设计的影响)对逻辑结构设计的影响 某公司的管理者想按照国家、区域、分区域和分区域内的销售员这样的层次关系来查看公司的销售情况,根据此需要,可得到如下的逻辑结构:1121 1)对逻辑结构设计的影响)对逻辑结构设计的影响 如果公司的决策者认为不需要了解具体到某个销售人员的销售情况,而只需要了解各个地理区域的销售情况,则没必要把销售员维作为一个粒度,而需把地域相关的表综合成为地理维度就可以了,最终设计出的逻辑结构

46、如下:1132 2)对数据存储的影响)对数据存储的影响 粒度对数据仓库的最直接的影响就是存储容量。如下图,按照每月统计的客户购买数据和按照每次消费记载的客户购买数据,两者的数据量相差极大。 如图所示,假定每个客户1天有5次消费,每次消费均涉及6种相同类型的商品,每个字段为8个字节,则:(1)1个客户1个月的消费细节数据的数据量为:8*6*30*5=7200字节(2)1个客户1个月的消费汇总数据的数据量为:8*6=48字节1142 2)对数据存储的影响)对数据存储的影响1153 3)对分析效果的影响)对分析效果的影响 不同的粒度设计对应不同的分析需求,若分析需求和粒度设计不匹配,则会直接影响数据

47、仓库的分析效果; 数据的综合使得细节信息丢失,所以如果分析需求的粒度小于设计的粒度,则需求不能得到满足;反之,如果分析需求的粒度大于设计的粒度,则查询汇总更小的粒度进行统计运算后才能回答,这将增加用户的等待时间。1163 3)对分析效果的影响)对分析效果的影响117u 由以上分析得知,数据仓库的性能和存储空间是一对矛盾:如果粒度设计很小,事实表将不得不记录所有的细节,存储数据所需要的空间将会急剧膨胀;若设计的粒度很大,虽然事实表体积大而带来的诸多问题能得到一定程度的缓解,但决策者不能观察细节数据。u所以,粒度的设计是数据仓库设计中的重要一环。粒度设计:空间粒度设计:空间/行数计算行数计算331

48、191 1)粗略估算)粗略估算 确定合适的粒度级的起点,可以粗略估算数据仓库中将来的数据行数和所需的直接存取存储空间,具体如下:1)确定数据仓库中将要创建的所有表,然后估计每张表中行的)确定数据仓库中将要创建的所有表,然后估计每张表中行的大小(上界、下界)大小(上界、下界)。2)估计)估计1年内表中的最少行数和最多行数。年内表中的最少行数和最多行数。这是设计者所要解决的最大问题。如一个顾客表,应估计在一定商业环境和该公司的商业计划影响下的当前顾客数;如果没有当前业务,就估计为总的市场业务量乘以市场份额;若市场份额不可知,则用竞争对手的业务量来估计等。1201 1)粗略估算)粗略估算一旦估计完1

49、年内数据仓库中数据单位的数量(用上下限推测的方法),就可用同样的方法对5年内的数据进行估计。粗略估计完成后,要计算一下索引数据所占的空间:对每张表确定键码的长度。3)将各表中行数可能的最大值和最小值分别乘以数据的最大长)将各表中行数可能的最大值和最小值分别乘以数据的最大长度和最小长度。同时,将索引项的数目与键码的长度的乘积累加度和最小长度。同时,将索引项的数目与键码的长度的乘积累加到总的数据量中。到总的数据量中。1212 2)确定双重或单一粒度)确定双重或单一粒度 粒度选择的标准主要是数据仓库表的总行数。因为数据的存取通常是通过存取索引来实现的,而索引是对应表的行来组织的,即在某一索引中每一行

50、总有个索引项,索引的大小只与表的总行数有关,而与表的数据量无关。存储空间与粒度设计层次的考虑存储空间与粒度设计层次的考虑1223 3)确定粒度的级别)确定粒度的级别 在数据仓库中确定粒度的级别时,需要考虑如下因素:1 1)要接受的分析类型:)要接受的分析类型:计划在数据仓库中进行的分析类型将直接影响到数据仓库的粒度划分。粒度定义越高,越不能进行更细致的分析。如,将粒度的层次定义为月份时,就不可能利用数据仓库进行按日汇总的信息分析。2 2)可接受的数据最低粒度:)可接受的数据最低粒度:数据仓库通常在同一模式中使用多重粒度,这是以数据仓库中所需的最低粒度级别为基础设置的。如,可用低粒度数据保存近期的财务数据和汇总数据,而用粒度较大的汇总数据保存时间较远的财务数据。这样,既可对财务近况进行细节分析,又可利用汇总数据对财务趋势进行分析。1233 3)确定粒度的级别)确定粒度的级别3 3)可存储的数据量)可存储的数据量:如果存储资源有一定的限制,就只能采用较高粒度的数据粒度划分策略;反之,可采取较宽松的粒度划分策略。这是由用户对数据需求的了解和信息

温馨提示

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

评论

0/150

提交评论