1、第三章第三章 数据仓库中的数据及组织数据仓库中的数据及组织 3.1 数据仓库中的数据组织数据仓库中的数据组织 数据仓库中存储着两类数据:业务数据和元数数据仓库中存储着两类数据:业务数据和元数据。其中业务数据又分为细节数据和综合数据。其中业务数据又分为细节数据和综合数据。据。3.1 数据仓库中的数据组织数据仓库中的数据组织 图3-1 数据仓库中存储的数据元数据高度综合级轻度综合级当前细节级早期细节级 粒度粒度 数据仓库数据的综合级别数据仓库数据的综合级别粒度越大、表示细节程度越低、综合程度越高粒度越大、表示细节程度越低、综合程度越高 图3-2 数据仓库的数据组织结构的一个例子 高度综合级轻度综合
2、级当前细节级早期细节级1985-1996年 每月销售表1990-1996年每周销售表1990-1996年销售情况表1985-1990年销售明细表 3.1 数据仓库中的数据组织数据仓库中的数据组织 粒度分为两种形式:粒度分为两种形式:1 对数据仓库中的数据的综合程度高低的一个度量,粒对数据仓库中的数据的综合程度高低的一个度量,粒度越小,细节程度越高,综合程度越低度越小,细节程度越高,综合程度越低 影响数据仓库效率、能回答询问的种类影响数据仓库效率、能回答询问的种类 “张三在某时某地是否给李四打过电话?张三在某时某地是否给李四打过电话?”“张三去年共打了几次长途电话张三去年共打了几次长途电话”“某
3、地区今年长途与普通电话费用之比某地区今年长途与普通电话费用之比”“今年长途普通电话费用增长率今年长途普通电话费用增长率”“预测未来长途普通电话费用变化趋势预测未来长途普通电话费用变化趋势”数据仓库是多粒度的,不同的粒度回答不同的查询数据仓库是多粒度的,不同的粒度回答不同的查询 3.1.1 数据粒度数据粒度 2 样本数据库样本数据库 根据采样率的高低来划分粒度:以一定的采样率从细节数根据采样率的高低来划分粒度:以一定的采样率从细节数据或轻度综合数据中抽取的一个子集据或轻度综合数据中抽取的一个子集 用处:代替源数据进行模拟分析用处:代替源数据进行模拟分析 抽样的方法:随机抽取抽样的方法:随机抽取
4、优点:高效率优点:高效率 源数据量很大的情况下,抽样数据可以大大下降,源数据量很大的情况下,抽样数据可以大大下降,分析结果误差极小分析结果误差极小 有助于抓住主要因素和主要矛盾有助于抓住主要因素和主要矛盾 实际:两种形式的粒度都存在实际:两种形式的粒度都存在 3.1.1 数据粒度数据粒度 分割:数据仓库中的另一个重要概念分割:数据仓库中的另一个重要概念分片:数据分割后的数据单元分片:数据分割后的数据单元目的:将数据分散到各自的物理单元中,以便目的:将数据分散到各自的物理单元中,以便 分别独立处理分别独立处理,提高效率提高效率例如:例如:对于某种相关性的数据集合的分析是最常见的对于某种相关性的数
5、据集合的分析是最常见的 将具有相关性的数据组织在一起将具有相关性的数据组织在一起,会提高效率会提高效率 3.1.2 数据分割数据分割 标准:根据实际情况确定标准:根据实际情况确定 1 易于重构、索引、重组、恢复、监控和顺序扫描易于重构、索引、重组、恢复、监控和顺序扫描 2 按日期、地域或业务领域按日期、地域或业务领域 3 按多个分割标准的组合按多个分割标准的组合例子:例子:健康保险健康保险 生命保险生命保险 事故保险事故保险 1988 分片分片1 分片分片2 分片分片3 1989 分片分片4 分片分片5 分片分片6 1990 分片分片7 分片分片8 分片分片9 3.1.2 数据分割数据分割 数
6、据追加:数据仓库的数据初装完成后数据追加:数据仓库的数据初装完成后,再向数据仓再向数据仓 库输入数据的过程库输入数据的过程追加内容:上次数据追加后在追加内容:上次数据追加后在OLTP数据库中变化了数据库中变化了 的数据的数据变化数据的捕捉途径变化数据的捕捉途径:时标方法时标方法 数据含有时标,对新插入或更新的数据记录数据含有时标,对新插入或更新的数据记录,加更新时的时标加更新时的时标许多数据库中的数据并不含有时标许多数据库中的数据并不含有时标 DELTA文件文件由应用生成,记录了应用所改变的所有内容由应用生成,记录了应用所改变的所有内容优点:避免了扫描整个数据库,效率比较高优点:避免了扫描整个
7、数据库,效率比较高3.2 数据仓库的数据追加数据仓库的数据追加 问题:生成问题:生成DELTA文件的应用不普遍文件的应用不普遍更改应用代码,应用在生成新数据时可以自动将其记更改应用代码,应用在生成新数据时可以自动将其记录下来录下来.应用成千上万,且修改代码十分繁琐,很难实现应用成千上万,且修改代码十分繁琐,很难实现 前后映象文件的方法前后映象文件的方法 抽取数据到数据仓库之后抽取数据到数据仓库之后,本次将抽取数据之前,本次将抽取数据之前,对数据库分别作一次快照,比较两幅快照的不同,对数据库分别作一次快照,比较两幅快照的不同,确定追加的数据确定追加的数据问题:占用大量资源,影响系统性能问题:占用
8、大量资源,影响系统性能3.2 数据仓库的数据追加数据仓库的数据追加 日志文件日志文件优点:优点:利用利用DB的固有机制,数据只限于日志文件,不用的固有机制,数据只限于日志文件,不用扫描整个数据库扫描整个数据库缺点:缺点:原来日志文件的格式是依据原来日志文件的格式是依据DB系统的要求设计的。系统的要求设计的。要进行改进要进行改进如:对一个记录的多次更新,日志文件将全部变化如:对一个记录的多次更新,日志文件将全部变化过程都记录下来,而数据仓库,只要最终结果过程都记录下来,而数据仓库,只要最终结果3.2 数据仓库的数据追加数据仓库的数据追加 元数据元数据(metadata):关于数据的数据关于数据的
9、数据 第一种:从操作型环境向数据仓库环境转换而第一种:从操作型环境向数据仓库环境转换而建立的元数据建立的元数据 包含:所有源数据项名、属性包含:所有源数据项名、属性及其在数据仓库中的转换及其在数据仓库中的转换第二种:与终端用户的多维商业模型前端工第二种:与终端用户的多维商业模型前端工具之间建立映射的具之间建立映射的DSS元数据元数据3.3 数据仓库中的元数据数据仓库中的元数据 元数据是描述数据的数据。其主要目标是提供元数据是描述数据的数据。其主要目标是提供数据资源的全面指南,使得数据仓库管理员数据资源的全面指南,使得数据仓库管理员和数据仓库的开发人员可以方便地了解数据和数据仓库的开发人员可以方
10、便地了解数据仓库中有什么数据,数据在什么地方,它们仓库中有什么数据,数据在什么地方,它们来源于哪里,以及数据仓库系统中是如何利来源于哪里,以及数据仓库系统中是如何利用这些数据,如何管理这些数据的。用这些数据,如何管理这些数据的。元数据把数据仓库系统中的各个松散的组件联元数据把数据仓库系统中的各个松散的组件联系起来,组成了一个有机的整体。系起来,组成了一个有机的整体。3.3.1 元数据的定义元数据的定义 以下这些工具都与元数据的产生或者存储有关:以下这些工具都与元数据的产生或者存储有关:(1)数据抽取工具:把数据抽取工具:把OLTP业务系统中的数据抽取、转业务系统中的数据抽取、转换、装载到数据仓
11、库中。换、装载到数据仓库中。(2)前端展现工具:包括前端展现工具:包括OLAP在线分析、报表和商务智在线分析、报表和商务智能工具等。能工具等。(3)建模工具:为非技术人员准备的业务建模工具,这建模工具:为非技术人员准备的业务建模工具,这些工具可以提供更高层次的、与特定业务相关的语义。些工具可以提供更高层次的、与特定业务相关的语义。(4)元数据存储工具:以上三种工具所用到的元数据通元数据存储工具:以上三种工具所用到的元数据通常存储在专门的数据库中,该数据库就如同一个常存储在专门的数据库中,该数据库就如同一个“黑盒黑盒子子”,外部工具不知道元数据是如何存储的。,外部工具不知道元数据是如何存储的。3
12、.3.1 元数据的定义元数据的定义 元数据可以按多种方式进行分类元数据可以按多种方式进行分类:1.按使用元数据的用户分类按使用元数据的用户分类2.按来源的正式程度分类按来源的正式程度分类3.按功能分类按功能分类3.3.2 元数据的分类元数据的分类 按照使用元数据的用户分类,元数据可以分为按照使用元数据的用户分类,元数据可以分为技术元数据(技术元数据(Technical Metadata)和业务)和业务元数据(元数据(Business Metadata)两类)两类:技术元数据技术元数据:关于数据仓库系统技术细节的描关于数据仓库系统技术细节的描述数据,是数据仓库开发人员和数据仓库管述数据,是数据仓
13、库开发人员和数据仓库管理人员需要使用的重要信息。理人员需要使用的重要信息。包括包括:数据仓库结构的描述、数据仓库结构的描述、ODS层的企业数层的企业数据模型描述、数据仓库和数据集市定义描述据模型描述、数据仓库和数据集市定义描述与装载描述。与装载描述。1.按使用元数据的用户分类按使用元数据的用户分类 业务元数据业务元数据:从业务角度描述数据仓库中的数从业务角度描述数据仓库中的数据,它提供了介于使用者和实际系统之间的据,它提供了介于使用者和实际系统之间的语义层定义,使得不懂计算机技术的业务人语义层定义,使得不懂计算机技术的业务人员也能够理解数据仓库中的数据。员也能够理解数据仓库中的数据。包括包括:
14、使用者的业务术语所表达的数据模型、使用者的业务术语所表达的数据模型、对象名和属性名;访问数据的原则和数据来对象名和属性名;访问数据的原则和数据来源;系统所提供的分析方法及公式、报表信源;系统所提供的分析方法及公式、报表信息等。息等。1.按使用元数据的用户分类按使用元数据的用户分类 正式元数据正式元数据:经过认真讨论并由企业决策者同经过认真讨论并由企业决策者同意了的元数据。意了的元数据。非正式元数据非正式元数据:非正式元数据由公司的政策、非正式元数据由公司的政策、指导方针和常识组成,一般没有标准的形式,指导方针和常识组成,一般没有标准的形式,是人所皆知的信息。这类信息没有进行正式是人所皆知的信息
15、。这类信息没有进行正式归档。归档。2.按来源的正式程度分类按来源的正式程度分类 按照元数据的作用,或者说按照数据仓库系统组成按照元数据的作用,或者说按照数据仓库系统组成的各个功能模块所涉及的元数据的各个功能模块所涉及的元数据进行分类。进行分类。数据源元数据数据源元数据:为数据仓库提供数据的各种业务系统的数据字典。ETL规则元数据规则元数据:数据源元数据、目标系统元数据、ETL流程、源与目标的映射关系等元数据信息。ODS元数据和元数据和DW元数据元数据:数据仓库系统的核心元数据,数据仓库系统的核心元数据。3.按功能分类按功能分类 报表元数据报表元数据:对报表和报表中的具体指标的描述信息。对报表和
16、报表中的具体指标的描述信息。接口数据文件格式元数据接口数据文件格式元数据:包括接口数据文件的命名、传输周期、格式等说明信息,这些元数据已经在ETL工具中进行管理。商业元数据商业元数据:在系统中对各项指标的业务含义的描述性信息。3.按功能分类按功能分类 元数据管理主要有两种方法:元数据管理主要有两种方法:对于相对简单的环境,按照通用的元数据管理标准建对于相对简单的环境,按照通用的元数据管理标准建立一个集中式的元数据知识库。立一个集中式的元数据知识库。对于比较复杂的环境,分别建立各部分的元数据管理对于比较复杂的环境,分别建立各部分的元数据管理系统,形成分布式元数据知识库,然后,通过建立标准系统,形
17、成分布式元数据知识库,然后,通过建立标准的元数据交换格式,实现元数据的集成管理。的元数据交换格式,实现元数据的集成管理。两个最主要的元数据标准:两个最主要的元数据标准:MDC的的OIM标准标准、OMG的的CWM标准。标准。3.3.3 元数据管理的标准化元数据管理的标准化 OIM的目的是通过公共的元数据信息来支持不同工具和系的目的是通过公共的元数据信息来支持不同工具和系统之间数据的共享和重用统之间数据的共享和重用,通过对元数据类型的标准描述通过对元数据类型的标准描述来达到工具和知识库之间的数据共享。来达到工具和知识库之间的数据共享。OIM所声明的元数据类型都采用统一建模语言UML(Univers
18、al Modeling Language)进行描述,并被组织成易于使用、易于扩展的多个工具集,这些工具集包括:分析与设计:主要用于软件分析、设计和建模 对象与组件:涉及面向对象开发技术的各个方面MDC的的OIM存储模型存储模型 数据库与数据仓库:为数据库模式管理、复用和建立数据仓库提供元数据概念支持。业务工程:为企业运作提供一个蓝图。知识管理:涉及企业的信息结构。MDC的的OIM存储模型存储模型 CWM模型既包括元数据存储,也包括元数据交换,它是模型既包括元数据存储,也包括元数据交换,它是基于以下三个工业标准制定的:基于以下三个工业标准制定的:UML:OMG建模标准,使用建模标准,使用UML对
19、对CWM模型进行建模。模型进行建模。MOF:元对象设施,它是:元对象设施,它是OMG元模型和元数据的存储标元模型和元数据的存储标准,提供在异构环境下对元数据知识库的访问接口。准,提供在异构环境下对元数据知识库的访问接口。XMI:XML元数据交换,元数据交换,OMG元数据交换标准,它可以元数据交换标准,它可以使元数据以使元数据以XML文件流的方式进行交换。文件流的方式进行交换。OMG组织的组织的CWM模型模型 CWM四个方面的规范:四个方面的规范:CWM元模型:描述数据仓库系统的模型;CWM XML:CWM元模型的XML表示;CWM DTD:DW/BI共享元数据的交换格式 CWM IDL:DW/
20、BI共享元数据的应用程序访问接口(API)OMG组织的组织的CWM模型模型 CWM元模型的组成:元模型的组成:元模型包:构造和描述其它元模型包:构造和描述其它CWM包中的元模型类的基础。包中的元模型类的基础。基础包:表示基础包:表示CWM概念和结构的模型元素,这些模型元素概念和结构的模型元素,这些模型元素又可被其他又可被其他CWM包所共享。包所共享。资源包:用于描述数据资源资源包:用于描述数据资源 分析(分析(Analysis)包:定义如何对信息进行加工和处理,)包:定义如何对信息进行加工和处理,管理(管理(Management)包:用于描述数据仓库管理和维护)包:用于描述数据仓库管理和维护O
21、MG组织的组织的CWM模型模型 1.CWM是专门为数据仓库元数据制定的一套标准,而OIM不仅是针对数据仓库元数据的。2.OIM所关注的元数据的范围比CWM要广。3.OIM与CWM在建模语言的选择、数据库模型的支持、OLAP分析模型的支持、数据转换模型的支持方面都比较一致。但是用OIM描述的元数据需要通过其它的接口才能访问,而CWM描述的元数据可以通过CORBA IDL来访问。4.OIM必须通过特定的转换形成XML文件来交换元数据,而CWM可以用XMI来进行交换。5.需要说明的是,MDC与OMG组织已经合并,今后所有的工具都将遵循统一的CWM标准。CWM与与OIM之间的关系之间的关系 主要介绍数据仓库中的数据组织和元数据主要介绍数据仓库中的数据组织和元数据 把握以下几点把握以下几点:1.对数据仓库中的数据组织有一定的认识对数据仓库中的数据组织有一定的认识2.数据仓库数据中数据粒度、数据分割的概念数据仓库数据中数据粒度、数据分割的概念3.元数据的基本概念元数据的基本概念小小 结结