《数据仓库原理课件》由会员分享,可在线阅读,更多相关《数据仓库原理课件(94页珍藏版)》请在金锄头文库上搜索。
1、第第2章章 数据仓库原理数据仓库原理o本章学习目标:本章学习目标:n掌握数据仓库的定义,四个基本特征掌握数据仓库的定义,四个基本特征n掌握数据集市的概念,与数据仓库区分掌握数据集市的概念,与数据仓库区分n掌握数据仓库的体系结构掌握数据仓库的体系结构n掌握数据仓库中数据组织方式掌握数据仓库中数据组织方式n掌握数据处理过程掌握数据处理过程n掌握元数据的概念、元数据管理的原理掌握元数据的概念、元数据管理的原理第第2章章 数据仓库原理数据仓库原理o2.1 数据仓库定义数据仓库定义o2.2 数据集市数据集市o2.3 数据仓库体系结构数据仓库体系结构o2.4 数据组织结构和形式数据组织结构和形式o2.5
2、数据抽取数据抽取E、转换、转换T和装载和装载L(ETL)o2.6 元数据管理元数据管理2.1 数据仓库定义oWilliam H.Inmon:数据仓库是一个面向主面向主题的题的、集成的集成的、非易失的非易失的且随时间变化的随时间变化的数据集合,用于支持管理人员的决策。数据仓库之父数据仓库之父-Bill Inmon William H. Inmon: William H. Inmon是是世世界界公公认认的的“数数据据仓仓库库之之父父”,是是数数据据仓仓库库及及其其相相关关技技术术网网站站的的合合作作伙伙伴伴,是是“企企业业信信息息工工厂厂”的的创创造造者者之之一一。他他一一直直致致力力于于数数据据
3、库库和和数数据据仓仓库库技技术术方方面面的的研研究究,在在数数据据管管理理和和数数据据仓仓库库技技术术方方面面以以及及数数据据处处理理的的管管理理方方面面撰撰写写了了40多多本本著著作作,发发表表过过600多多篇篇学学术术论论文文,并并且且经经常常应应邀邀在在技技术术和和学术会议上演讲。学术会议上演讲。四个基本特征四个基本特征o数据仓库的数据是面向主题的数据仓库的数据是面向主题的o数据仓库的数据是集成的数据仓库的数据是集成的o数据仓库的数据是非易失的数据仓库的数据是非易失的o数据仓库的数据是随时间不断变化的数据仓库的数据是随时间不断变化的面向主题面向主题o主题(主题(Subject):特定的数
4、据分析领域与):特定的数据分析领域与目标。目标。o面向主题:为特定的数据分析领域提供数据面向主题:为特定的数据分析领域提供数据支持。支持。面向主题面向主题o为特定数据分析领域提供的数据与传统数据库中的为特定数据分析领域提供的数据与传统数据库中的数据是有不同的。传统数据库中的数据是原始的、数据是有不同的。传统数据库中的数据是原始的、基础的数据,而特定分析领域数据则是需要对它们基础的数据,而特定分析领域数据则是需要对它们作必要的抽取、加工与总结而形成。作必要的抽取、加工与总结而形成。o数据仓库是面向分析、决策人员的主观要求的,不数据仓库是面向分析、决策人员的主观要求的,不同的用户有不同的要求,同一
5、个用户的要求也会随同的用户有不同的要求,同一个用户的要求也会随时间而经常变化,因此,数据仓库中的主题有时会时间而经常变化,因此,数据仓库中的主题有时会因用户主观要求的变化而变化的。因用户主观要求的变化而变化的。面向主题示例面向主题示例o例:一个面向事务处理的例:一个面向事务处理的“商场商场”数据库系统,其数数据库系统,其数据模式如下据模式如下采购子系统:采购子系统:订单(订单号,供应商号,总金额,日期)订单(订单号,供应商号,总金额,日期)订单细则(订单号,商品号,类别,单价,数量)订单细则(订单号,商品号,类别,单价,数量)供应商(供应商号,供应商名,地址,电话)供应商(供应商号,供应商名,
6、地址,电话)销售子系统:销售子系统:顾客(顾客号,姓名,性别,年龄,文化程度,地址,电顾客(顾客号,姓名,性别,年龄,文化程度,地址,电话)话)销售(员工号,顾客号,商品号,数量,单价,日期)销售(员工号,顾客号,商品号,数量,单价,日期)面向主题示例库存管理子系统:库存管理子系统:领料单(领料单号,领料人,商品号,数量,日期)领料单(领料单号,领料人,商品号,数量,日期)进料单(进料单号,订单号,进料人,收料人,日期)进料单(进料单号,订单号,进料人,收料人,日期)库存(商品号,库房号,库存量,日期)库存(商品号,库房号,库存量,日期)库房(库房号,仓库管理员,地点,库存商品描述)库房(库房
7、号,仓库管理员,地点,库存商品描述)人事管理子系统:人事管理子系统:员工(员工号,姓名,性别,年龄,文化程度,部门号)员工(员工号,姓名,性别,年龄,文化程度,部门号)部门(部门号,部门名称,部门主管,电话)部门(部门号,部门名称,部门主管,电话)面向主题示例面向主题示例o上述数据模式基本上是按照企业内部的业务活动及上述数据模式基本上是按照企业内部的业务活动及其需要的相关数据来组织数据的存储的,没有实现其需要的相关数据来组织数据的存储的,没有实现真正的数据与应用分离,其抽象程度也不够高。真正的数据与应用分离,其抽象程度也不够高。o如果按照面向主题的方式进行数据组织,首先应该如果按照面向主题的方
8、式进行数据组织,首先应该抽取主题,即按照管理人员的分析要求来确定主题,抽取主题,即按照管理人员的分析要求来确定主题,而与每个主题相关的数据又与有关的事务处理所需而与每个主题相关的数据又与有关的事务处理所需的数据不尽相同。的数据不尽相同。主题一:主题一:商品商品p商品固有信息:商品号,商品名,类别,颜色等商品固有信息:商品号,商品名,类别,颜色等p商品采购信息:商品号,供应商号,供应价,供应日期,商品采购信息:商品号,供应商号,供应价,供应日期,供应量等供应量等p商品销售信息:商品号,顾客号,售价,销售日期,销商品销售信息:商品号,顾客号,售价,销售日期,销售量等售量等p商品库存信息:商品号,库
9、房号,库存量,日期等商品库存信息:商品号,库房号,库存量,日期等主题二:主题二:供应商供应商p供应商固有信息:供应商号,供应商名,地址,电话等供应商固有信息:供应商号,供应商名,地址,电话等p供应商品信息:供应商号,商品号,供应价,供应日期,供应商品信息:供应商号,商品号,供应价,供应日期,供应量等供应量等主题三:主题三:顾客顾客p顾客固有信息:顾客号,顾客名,性别,年龄,文化程顾客固有信息:顾客号,顾客名,性别,年龄,文化程度,住址,电话等度,住址,电话等p顾客购物信息:顾客号,商品号,售价,购买日期,购顾客购物信息:顾客号,商品号,售价,购买日期,购买量等买量等面向主题面向主题o在每个主题
10、中,都包含了有关该主题的所有信息,同时又抛弃在每个主题中,都包含了有关该主题的所有信息,同时又抛弃了与分析处理无关或不需要的数据,从而将原本分散在各个子了与分析处理无关或不需要的数据,从而将原本分散在各个子系统中的有关信息集中在一个主题中,形成有关该主题的一个系统中的有关信息集中在一个主题中,形成有关该主题的一个完整一致的描述。面向主题的数据组织方式所强调的就是要形完整一致的描述。面向主题的数据组织方式所强调的就是要形成一个这样一致的信息集合成一个这样一致的信息集合o不同的主题之间也有重叠的内容,但这种重叠是逻辑上的,而不同的主题之间也有重叠的内容,但这种重叠是逻辑上的,而不是物理存储上的重叠
11、;是部分细节的重叠,而不是完全的重不是物理存储上的重叠;是部分细节的重叠,而不是完全的重叠。叠。面向主题o每个主题所需数据的物理存储:每个主题所需数据的物理存储:n多维数据库多维数据库(MDDBMulti-Dimensional DataBase)用多维数组形式存储数据。)用多维数组形式存储数据。n关系数据库。关系数据库。用一组关系来组织数据的存储,用一组关系来组织数据的存储,同一主题的一组关系都有一个同一主题的一组关系都有一个公共的关键字公共的关键字,存放的也不是细节性的业务数据,而是经过一存放的也不是细节性的业务数据,而是经过一定程度的综合形成的综合性数据。定程度的综合形成的综合性数据。集
12、成的集成的o数据是分散的;由于事务处理应用分散、蜘蛛数据是分散的;由于事务处理应用分散、蜘蛛网问题、数据不一致问题、外部数据和非结构网问题、数据不一致问题、外部数据和非结构化数据。化数据。o数据仓库中的数据是为分析服务的,而分析需数据仓库中的数据是为分析服务的,而分析需要多种广泛的不同数据源以便进行比较、鉴别,要多种广泛的不同数据源以便进行比较、鉴别,因此数据仓库中的数据必须从多个数据源中获因此数据仓库中的数据必须从多个数据源中获取,这些数据源包括多种类型数据库、文件系取,这些数据源包括多种类型数据库、文件系统以及统以及Internet网上数据等,它们通过数据网上数据等,它们通过数据集成而形成
13、数据仓库中的数据。集成而形成数据仓库中的数据。集成的集成的o集成的方法:集成的方法:n统一:消除不一致的现象统一:消除不一致的现象n综合:对原有数据进行综合和计算综合:对原有数据进行综合和计算o需要考虑的问题:n数据格式n计量单位n数据代码含义混乱n数据名称混乱非易失的非易失的o数据仓库中的数据是经过抽取而形成的分析型数据,不具有原数据仓库中的数据是经过抽取而形成的分析型数据,不具有原始性,主要供企业决策分析之用,执行的主要是始性,主要供企业决策分析之用,执行的主要是查询查询操作,操作,一般情况下不执行一般情况下不执行更新更新操作。同时,一个稳定的数据环境操作。同时,一个稳定的数据环境也有利于
14、数据分析操作和决策的制订。也有利于数据分析操作和决策的制订。o但这也不等于数据仓库中的数据不需要但这也不等于数据仓库中的数据不需要更新更新操作。操作。n在需要进行新的分析决策时,可能需要进行新的数据抽在需要进行新的分析决策时,可能需要进行新的数据抽取和取和更新更新操作操作n数据仓库中的一些过时的数据,也可以通过数据仓库中的一些过时的数据,也可以通过删除删除操操作丢弃掉。作丢弃掉。o因此数据仓库的存储管理相对于因此数据仓库的存储管理相对于DBMSDBMS来说要简单得多。来说要简单得多。随时间不断变化随时间不断变化o数据仓库中的数据必须以一定时间段为单位进行统一更数据仓库中的数据必须以一定时间段为
15、单位进行统一更新。新。n不断增加新的数据内容不断增加新的数据内容n不断删去旧的数据内容不断删去旧的数据内容n更新与时间有关的综合数据更新与时间有关的综合数据2.2 数据集市(数据集市(Data Mart)o建立数据集市的原因建立数据集市的原因n数据仓库是一种反映主题的全局性数据组织。但是数据仓库是一种反映主题的全局性数据组织。但是, ,全局全局性数据仓库往往太大,在实际应用中将它们按部门或个性数据仓库往往太大,在实际应用中将它们按部门或个人分别建立反映各个子主题的局部性数据组织人分别建立反映各个子主题的局部性数据组织, ,它们即是它们即是数据集市数据集市。因此,有时我们也称它为。因此,有时我们
16、也称它为部门数据仓库部门数据仓库。o例:在有关商品销售的数据仓库中可以建立多个不同主题的数例:在有关商品销售的数据仓库中可以建立多个不同主题的数据集市:据集市:n商品采购数据集市商品采购数据集市n库房使用数据集市库房使用数据集市n商品销售数据集市商品销售数据集市o数据集市(数据集市(Data MartsData Marts)是一种更小、更集中)是一种更小、更集中的数据仓库,为公司提供分析商业数据的一条的数据仓库,为公司提供分析商业数据的一条廉价途径。廉价途径。oData MartsData Marts是指具有特定应用的数据仓库,主是指具有特定应用的数据仓库,主要针对某个应用或者具体部门级的应用
17、,支持要针对某个应用或者具体部门级的应用,支持用户获得竞争优势或者找到进入新市场的具体用户获得竞争优势或者找到进入新市场的具体解决方案。解决方案。数据集市概念数据集市概念20数据集市类型o按照数据获取来源:n独立型:直接从操作型环境获取数据。n从属型:从企业级数据仓库获取数据。独立数据集市独立数据集市(Independent Data Mart)(Independent Data Mart)从属数据集市从属数据集市(Dependent Data Mart)(Dependent Data Mart)建设途径o从从 全局数据仓库全局数据仓库 到到 数据集市数据集市o从从 数据集市数据集市 到到 全
18、局数据仓库全局数据仓库数据仓库 VS 数据集市o数据仓库与数据集市的关系类似于传统关系数据库系统中的基表基表与视图视图的关系。o数据集市的数据来自数据仓库,它是数据仓库中数据的一个部分与局部,是一个数据的再抽取与组织的过程。2.3 数据仓库体系结构o数据仓库系统由数据仓库(数据仓库系统由数据仓库(DWDW)、仓库管理)、仓库管理和分析工具三部分组成和分析工具三部分组成ORACLESYBASESQL Server文 件数据集市数据集市数据集市数 据 建 模数据仓库元数据管理抽 取数据仓库系统示意图数据仓库系统示意图分析工具(OLAP、数据挖掘)过程模型数据仓库管理系统数据仓库管理系统元数据元数据
19、多维关系多维关系数据库数据库多维多维数据库数据库外部操作型外部操作型数据数据数据抽取数据抽取数据清洁数据清洁数据装载数据装载管理平台管理平台报表查询工具报表查询工具数据挖掘工具数据挖掘工具OLAP工具工具仓库管理数据建模仓库管理数据建模o数据建模是建立数据仓库的数据模型。数据建模是建立数据仓库的数据模型。o数据仓库的数据模型不同于数据库的数据模数据仓库的数据模型不同于数据库的数据模型在于:型在于:n数据仓库只为决策分析用,不包含事务处理的数据仓库只为决策分析用,不包含事务处理的数据。数据。n数据仓库的增加了时间属性数据。数据仓库的增加了时间属性数据。n数据仓库增加了一些综合数据。数据仓库增加了
20、一些综合数据。o数据仓库的数据建模是适应决策用户使用的数据仓库的数据建模是适应决策用户使用的逻辑数据模型。逻辑数据模型。仓库管理元数据管理仓库管理元数据管理o最基本的元数据相当于数据库系统中的数据字典。最基本的元数据相当于数据库系统中的数据字典。o元数据定义了数据仓库有什么,指明了数据仓库中元数据定义了数据仓库有什么,指明了数据仓库中数据的内容和位置,刻画了数据的抽取和转换规则,数据的内容和位置,刻画了数据的抽取和转换规则,存储了与数据仓库主题有关的各种商业信息,而且存储了与数据仓库主题有关的各种商业信息,而且整个数据仓库的运行都是基于元数据的。整个数据仓库的运行都是基于元数据的。n数据源的元
21、数据数据源的元数据n数据模型的元数据数据模型的元数据n数据仓库映射的元数据数据仓库映射的元数据n数据仓库使用的元数据数据仓库使用的元数据仓库管理数据处理仓库管理数据处理o异构数据源:异构数据源:n企业内部数据企业内部数据n存档的历史数据存档的历史数据n企业的外部数据。企业的外部数据。n软硬件平台不一致软硬件平台不一致oETL过程过程n抽取(抽取(Extraction) n转换(转换(Transform)n装载(装载(Load)分析工具查询工具查询工具o数据仓库的查询不是指对记录级数据的查询,数据仓库的查询不是指对记录级数据的查询,而是指对分析要求的查询。一般包含:而是指对分析要求的查询。一般包
22、含: 可可视视化化工工具具:以以图图形形化化方方式式展展示示数数据据,可可以以帮助了解数据的结构,关系以及动态性。帮助了解数据的结构,关系以及动态性。分析工具多维分析工具多维分析工具o 通过对信息的多种可能的观察形式进行快通过对信息的多种可能的观察形式进行快速、一致和交互性的存取,这样便利用户对速、一致和交互性的存取,这样便利用户对数据进行深入的分析和观察。数据进行深入的分析和观察。o多维数据的每一维代表对数据的一个特定的多维数据的每一维代表对数据的一个特定的观察视角,如时间、地域、业务等。观察视角,如时间、地域、业务等。分析工具数据挖掘工具数据挖掘工具o从大量数据中挖掘具有规律性知识,需要利
23、从大量数据中挖掘具有规律性知识,需要利用数据挖掘(用数据挖掘(Data MiningData Mining)工具。)工具。数据仓库的运行结构数据仓库的运行结构 数数据据仓仓库库应应用用是是一一个个典典型型的的客客户户/ /服服务务器器(C/SC/S)结结构构形形式:式: 客客户户端端所所做做的的工工作作:客客户户交交互互、格格式式化化查查询询、结结果果显显示示、报表生成等。报表生成等。 服服务务器器端端完完成成各各种种辅辅助助决决策策的的SQLSQL查查询询、复复杂杂的的计计算算和和各各类综合功能等。类综合功能等。 32数据仓库的运行结构数据仓库的运行结构o两层数据仓库结构两层数据仓库结构数据
24、仓库数据数据仓库数据元数据元数据数据仓库服务器数据仓库服务器数据逻辑数据逻辑数据服务数据服务元数据元数据文件服务文件服务客户端客户端图形用户接口图形用户接口/表示逻辑表示逻辑查询规范查询规范数据分析数据分析报表格式报表格式总结总结数据访问数据访问解解 释释 客户客户/服务器(服务器(C/S)是网络上一种重要的是网络上一种重要的组织形式。组织形式。 数据仓库在网络上都是以服务器数据仓库在网络上都是以服务器(Server)形式提供服务,能对网络上多)形式提供服务,能对网络上多个客户(个客户(Client)同时提供服务。)同时提供服务。34数据仓库的运行结构数据仓库的运行结构o多层数据仓库结构多层数
25、据仓库结构多维数据服务器多维数据服务器数据仓库数据数据仓库数据元数据元数据数据逻辑数据逻辑数据服务数据服务元数据元数据文件服务文件服务数据仓库服务器数据仓库服务器应用服务器应用服务器图形用户接口图形用户接口查询规范查询规范数据分析数据分析报表格式报表格式数据访问数据访问客户端客户端过滤过滤总结总结元数据元数据多维视图多维视图数据访问数据访问 OLAPOLAP服务器将加强和规范化决策支持的服务工服务器将加强和规范化决策支持的服务工作,集中和简化了原客户端和数据仓库服务器的部作,集中和简化了原客户端和数据仓库服务器的部分工作,降低了系统数据传输量。分工作,降低了系统数据传输量。 这种结构形式工作效
26、率更高。这种结构形式工作效率更高。OLAP的三层的三层C/S结构结构362.4 数据组织结构和形式数据组织结构和形式o典型的数据仓库的数据组织结构n高度综合级n轻度综合级n当前细节级n早期细节级o数据仓库的结构数据仓库的结构OLTP系统系统RDBMSSybaseVSAMSAP/ERP5-10 年年过去过去详细数据详细数据当前当前详细数据详细数据轻度轻度汇总数据汇总数据高度高度汇总数据汇总数据数据集市数据集市分析型分析型CRM业务指标分析业务指标分析数据仓库数据仓库数据仓库数据仓库数据仓库数据仓库/决策分析系统决策分析系统EXCELo数据仓库建立的过程数据仓库建立的过程o粒度粒度n是指数据仓库的
27、数据单位中保存数据的细化或综合程是指数据仓库的数据单位中保存数据的细化或综合程度的级别度的级别n粒度级越小,细节程度越高,综合程度越低,回答查粒度级越小,细节程度越高,综合程度越低,回答查询的种类越多询的种类越多n粒度影响数据仓库中数据量的大小粒度影响数据仓库中数据量的大小n粒度问题是设计数据仓库的一个重要方面粒度问题是设计数据仓库的一个重要方面o双重粒度双重粒度n在数据仓库的细节级上创建两种粒度在数据仓库的细节级上创建两种粒度n短期储存的低粒度(真实档案),满足细节查询短期储存的低粒度(真实档案),满足细节查询n具有综合的高粒度(轻度综合),做分析具有综合的高粒度(轻度综合),做分析数据粒度
28、数据粒度o粒度是指数据仓库的数据单位中保存数据的细化或综合程度的级别。o粒度问题是设计数据仓库的一个最重要方面。粒度的一个例子能回答,但需要一定量的检索不能回答,缺少细节信息粒度权衡数据分割数据分割o数据分割是指把数据分散到各自的物理单元数据分割是指把数据分散到各自的物理单元中去,它们能独立地处理。中去,它们能独立地处理。o分割是数据仓库中数据的第二个主要的设计分割是数据仓库中数据的第二个主要的设计问题问题o分割问题的焦点不是该不该分割而是如何去分割问题的焦点不是该不该分割而是如何去分割的问题。分割的问题。数据分割例子处理集A处理集B数据分割的本质数据分割的本质o数据分割的本质之一就是灵活地访
29、问数据。数据分割标准数据分割标准数据分割的标准是严格地由开发人员来选择的。数据分割的标准是严格地由开发人员来选择的。o时间。时间。o商业线。商业线。o地理位置。地理位置。o组织单位。组织单位。o所有上述标准。所有上述标准。o然而,按日期几乎总是分割标准中的一个必然组成然而,按日期几乎总是分割标准中的一个必然组成部分。部分。数据组织形式数据组织形式o数据仓库中有多种数据组织形式:数据仓库中有多种数据组织形式:n简单堆积数据结构简单堆积数据结构n轮转综合数据结构轮转综合数据结构n简单直接文件简单直接文件n连续文件连续文件简单堆积数据结构简单堆积数据结构o每日从数据库中提取并加工数据逐天积累。每日从
30、数据库中提取并加工数据逐天积累。o最简单最常用的数据组织形式轮转综合数据结构o简单逐日堆积数据的一种变种。o数据用与前面相同的处理方法从操作型环境输入到数据仓库环境中,只是在轮转综合文件中的数据才被输入到不同的结构形式中。每日事物处理每日事物处理每日综合每日综合天天周周月月年年 1 2 3 4 5 6 7 1 2 3 4 5。简单堆积 VS 轮转综合o轮转综合数据结构与数据的简单堆积结构相比,仅处理非常少的数据单元。简单直接文件o数据仅仅是从操作型环境拖入数据仓库环境中,并没有任何累积。o是间隔一定时间的操作型数据的一个快照。不是在每天的基础上组织的,而是以较长时间为单位的,比如一个星期或一个
31、月。连续文件o通过两个连续的简单直接文件,可以生成另一个连续文件o连续文件也可以通过把一个快照追加到一个以前生成的连续文件上来创建连续文件o连续文件也可以通过把一个快照追加到一个以前生成的连续文件上来创建数据存储o虚拟存储方式虚拟存储方式o基于关系表的存储方式基于关系表的存储方式o多维数据库组织多维数据库组织虚拟存储方式虚拟存储方式o没有专门的数据仓库数据存储,数据仓库中没有专门的数据仓库数据存储,数据仓库中的数据仍然在源数据库中。只是根据用户的的数据仍然在源数据库中。只是根据用户的多维需求及形成的多维视图临时在源数据库多维需求及形成的多维视图临时在源数据库中找出所需要的数据,完成多维分析。中
32、找出所需要的数据,完成多维分析。n优点:优点:组织方式简单、花费少、使用灵活;组织方式简单、花费少、使用灵活;n缺点:缺点:只有当源数据库的数据组织比较规范、只有当源数据库的数据组织比较规范、没有数据不完备及冗余,同时又比较接近多维没有数据不完备及冗余,同时又比较接近多维数据模型时,虚拟数据仓库的多维语义才容易数据模型时,虚拟数据仓库的多维语义才容易定义。定义。而在一般的数据库应用中,这很难做到。而在一般的数据库应用中,这很难做到。基于关系表的存储方式基于关系表的存储方式o将数据仓库的数据存储在关系数据库的表结将数据仓库的数据存储在关系数据库的表结构中,在元数据的管理下完成数据仓库的功构中,在
33、元数据的管理下完成数据仓库的功能。能。o实体关系(实体关系(ER)模型一般用于关系型数据模型一般用于关系型数据库设计,而数据仓库采用库设计,而数据仓库采用n星型星型n雪片型雪片型星型模式星型模式o数据仓库中包含数据仓库中包含(1)一个大的包含大批数据和不冗余的事实表)一个大的包含大批数据和不冗余的事实表(中心表);(中心表); (2)一组小的附属表,称为维表。每维一个。)一组小的附属表,称为维表。每维一个。o事实表中每条元组都含有指向各个维表的外事实表中每条元组都含有指向各个维表的外键和一些相应的测量数据,事实表的记录数键和一些相应的测量数据,事实表的记录数量很多,维表中记录的是有关这一维的属
34、性。量很多,维表中记录的是有关这一维的属性。星型模式示例星型模式示例时间键时间键产品键产品键地区键地区键sales(事实表)事实表)销售量销售量销售价销售价time时间键时间键年年季度季度月月星期星期天天产品键产品键产品类产品类产品名产品名型号型号itemlocation地区键地区键国家国家省省市市维表维表订货表客户表销售员表事实表产品表日期表地区表星型模型数据存储情况示意图 雪花模式o雪花模型对星型模型的维表进一步层次化雪花模型对星型模型的维表进一步层次化o原来的各维表可能被扩展为小的事实表,形原来的各维表可能被扩展为小的事实表,形成一些局部的成一些局部的“层次层次”区域。区域。雪花模式示例
35、time时间键时间键年年季度季度月月星期星期天天产品键产品键产品类产品类产品名产品名型号型号item时间键时间键产品键产品键地区键地区键sales(事实表)事实表)销售量销售量销售价销售价location地区键地区键国家国家省键省键省键省键省名省名市键市键市键市键市名市名provincecity星型模式 VS 雪花模式o雪花模式的维表可能是规范化的,以便减少雪花模式的维表可能是规范化的,以便减少冗余。这种表易于维护,并节省存储空间。冗余。这种表易于维护,并节省存储空间。o实际上,与巨大的事实表相比,这种空间的实际上,与巨大的事实表相比,这种空间的节省可以忽略。节省可以忽略。o由于执行查询需要更
36、多的连接操作,雪花结由于执行查询需要更多的连接操作,雪花结构可能降低浏览的性能。构可能降低浏览的性能。o在数据仓库设计中,雪花模式不如星型模式在数据仓库设计中,雪花模式不如星型模式流行。流行。数据仓库的数据追加数据仓库的数据追加o时标法时标法o前后映像文件方法前后映像文件方法oDELTA文件文件o日志文件日志文件时标法o基本思想:为记录数据增加一个时间标记。基本思想:为记录数据增加一个时间标记。o如果数据含有时标,对新插入或更新的数据如果数据含有时标,对新插入或更新的数据记录,在其上添加更新时的时标,那么只需记录,在其上添加更新时的时标,那么只需根据时标判断即可。根据时标判断即可。o但并非所有
37、数据库中的数据都含有时标。但并非所有数据库中的数据都含有时标。前后映像文件方法前后映像文件方法o在抽取数据前后对数据库各做一次快照,然在抽取数据前后对数据库各做一次快照,然后比较两幅快照从而确定新数据。后比较两幅快照从而确定新数据。o它占用大量资源,对性能影响极大,因此无它占用大量资源,对性能影响极大,因此无实际意义。实际意义。DELTA文件文件oDELTA文件视图从能够感知数据变化的应文件视图从能够感知数据变化的应用程序来生成追加文件用程序来生成追加文件o利用利用DELTA文件效率很高,它避免扫描整文件效率很高,它避免扫描整个数据库。个数据库。o但因应用系统常由不同的软件开发商开发,但因应用
38、系统常由不同的软件开发商开发,生成生成DELTA文件的应用并不普遍。文件的应用并不普遍。日志文件日志文件o日志是日志是DMBS的固有机制的固有机制o系统日志能把数据库服务器所执行的所有操系统日志能把数据库服务器所执行的所有操作详细记录下来,通过分析日志获取数据变作详细记录下来,通过分析日志获取数据变化情况。化情况。o它还具有它还具有DELTA文件的优越性质,提取数文件的优越性质,提取数据只要局限日志文件即可,不用扫描整个数据只要局限日志文件即可,不用扫描整个数据库。据库。o固有机制,不影响固有机制,不影响OLTP性能。性能。2.5 数据抽取、转换和加载o数据仓库需要将这些源数据经过抽取、转换和
39、装载数据仓库需要将这些源数据经过抽取、转换和装载的过程,存储到数据仓库的数据模型中。的过程,存储到数据仓库的数据模型中。oETL过程过程n抽取(抽取(Extraction)n转换(转换(Transform)n装载(装载(Load)2.5.1 数据抽取o确认数据源确认数据源o数据抽取技术数据抽取技术确认数据源确认数据源o列出对事实表的每一个数据项和事实列出对事实表的每一个数据项和事实o列出每一个维度属性列出每一个维度属性o对于每个目标数据项,找出源数据项对于每个目标数据项,找出源数据项o一个数据元素有多个来源,选择最好的来源一个数据元素有多个来源,选择最好的来源o确认一个目标字段的多个源字段,建
40、立合并规则确认一个目标字段的多个源字段,建立合并规则o确认一个目标字段的多个源字段,建立分离规则确认一个目标字段的多个源字段,建立分离规则o确定默认值确定默认值o检查缺失值的源数据检查缺失值的源数据数据抽取技术o当前值:当前值:源系统中存储的数据都代表了当前源系统中存储的数据都代表了当前时刻的值。当商业交易时,这些数据是会发时刻的值。当商业交易时,这些数据是会发生变化的。生变化的。o周期性的状态:周期性的状态:这类数据存储的是每次发生这类数据存储的是每次发生变化时的状态。例如,对于每一保险索赔,变化时的状态。例如,对于每一保险索赔,都经过索赔开始、确认、评估和解决等步骤,都经过索赔开始、确认、
41、评估和解决等步骤,都要考虑有时间说明。都要考虑有时间说明。2.5.2 数据转换To数据转换的基本功能数据转换的基本功能o数据转换类型数据转换类型o数据整合和合并数据整合和合并o如何实施转换如何实施转换数据转换的基本功能数据转换的基本功能o选择:选择:从源系统中选择整个记录或者部分记录。从源系统中选择整个记录或者部分记录。 o分离分离/合并:合并:对源系统中的数据进行分离操作或对源系统中的数据进行分离操作或者合并操作。者合并操作。o转化:转化:对源系统进行标准化和可理解化。对源系统进行标准化和可理解化。o汇总:汇总:将最低粒度数据进行汇总。将最低粒度数据进行汇总。 o清晰:清晰:对单个字段数据进
42、行重新分配和简化对单个字段数据进行重新分配和简化 。数据转换类型数据转换类型(1)格式修正)格式修正(2)字段的解码)字段的解码(3)计算值和导出值)计算值和导出值(4)单个字段的分离)单个字段的分离(5)信息的合并)信息的合并(6)特征集合转化)特征集合转化(7)度量单位的转化)度量单位的转化(8)关键字重新构造)关键字重新构造(9)汇总)汇总(10)日期)日期/时间转化时间转化数据整合和合并数据整合和合并o数据整合和合并是将相关的源数据组合成一致的数据整合和合并是将相关的源数据组合成一致的数据结构,装入数据仓库。数据结构,装入数据仓库。n实体识别问题。实体识别问题。 数据来源于多个不同的客
43、户系统,对相同客户可能数据来源于多个不同的客户系统,对相同客户可能分别有不同的键码,将它们组合成一条单独的记录。分别有不同的键码,将它们组合成一条单独的记录。n多数据源相同属性不同值的问题。多数据源相同属性不同值的问题。 不同系统中得到的值存在一些差别不同系统中得到的值存在一些差别 ,需要给出合理的值。,需要给出合理的值。如何实施转换如何实施转换o自己编写程序实现数据转换自己编写程序实现数据转换o使用转换工具使用转换工具2.5.3数据装载数据装载Lo数据装载方式数据装载方式o数据装载类型数据装载类型数据装载方式数据装载方式o基本装载。基本装载。按照装载的目标表,将转换过的数按照装载的目标表,将
44、转换过的数据输入到目标表中去。据输入到目标表中去。 o追加。追加。如果目标表中已经存在数据,追加过程在如果目标表中已经存在数据,追加过程在保存已有数据的基础上增加输入数据。保存已有数据的基础上增加输入数据。 o破坏性合并。破坏性合并。用新输入数据更新目标记录数据。用新输入数据更新目标记录数据。 o建设性合并。建设性合并。保留已有的记录,增加输入的记保留已有的记录,增加输入的记录,并标记为旧记录的替代。录,并标记为旧记录的替代。数据装载类型数据装载类型o初始装载。初始装载。这是第一次对整个数据仓库进行这是第一次对整个数据仓库进行装载。装载。 o增量装载。增量装载。由于源系统的变化,数据仓库需由于
45、源系统的变化,数据仓库需要装载变化的数据。要装载变化的数据。o完全刷新。完全刷新。这种类型的数据装载用于周期性这种类型的数据装载用于周期性重写数据仓库。重写数据仓库。2.5.4 数据处理的有关讨论o数据库中的空缺值数据库中的空缺值o不一致的数据不一致的数据n由于某种原因的不一致需统一(比如英制与公制)由于某种原因的不一致需统一(比如英制与公制)o样本空间的大小样本空间的大小o与分析无关的数据不要装入数据仓库与分析无关的数据不要装入数据仓库o数据离散化数据离散化n在必要的情况下将连续的数据变换成离散值。比如年龄在必要的情况下将连续的数据变换成离散值。比如年龄按按10岁分段,收入按岁分段,收入按1
46、000分段等分段等o数据规范化数据规范化数据库中的空缺值数据库中的空缺值o空缺的数据会影响数据挖掘的质量,所以应该处理空缺的数据会影响数据挖掘的质量,所以应该处理忽略该元组忽略该元组n问题:若缺少的数据的元组太多,则性能非常差问题:若缺少的数据的元组太多,则性能非常差o人工填写空缺值人工填写空缺值n问题:缺很多值时不可行问题:缺很多值时不可行o使用一个全局常量填空使用一个全局常量填空n问题:但由于该常量太多,数据挖掘程序可能会错误的问题:但由于该常量太多,数据挖掘程序可能会错误的认为是一个有趣的概念。认为是一个有趣的概念。o使用属性的平均值填充空缺值使用属性的平均值填充空缺值o使用与给定元组属
47、同一类的所有样本的平均值使用与给定元组属同一类的所有样本的平均值o使用最可能的值填充空缺值使用最可能的值填充空缺值样本空间的大小样本空间的大小o如抽取一部分数据进行分析同在整个数据集如抽取一部分数据进行分析同在整个数据集合上进行分析的结果是一样的,则取一部分合上进行分析的结果是一样的,则取一部分数据进行分析时空效率就高得多。(采用随数据进行分析时空效率就高得多。(采用随机抽样、等间隔抽样、聚类后在同一类中抽机抽样、等间隔抽样、聚类后在同一类中抽取等)取等)2.5.5 ETL 工具o数据转换引擎数据转换引擎o代码生成器代码生成器o通过复制捕获数据通过复制捕获数据2.6 元数据管理元数据管理o元数
48、据是关于数据的数据,是数据仓库环境中一个元数据是关于数据的数据,是数据仓库环境中一个重要方面。重要方面。o元数据在数据仓库的上层,并且记录数据仓库中对元数据在数据仓库的上层,并且记录数据仓库中对象的位置。象的位置。o典型地,元数据记录:典型地,元数据记录:n程序员所知的数据结构。程序员所知的数据结构。nD S S分析员所知的数据结构。分析员所知的数据结构。n数据仓库的源数据。数据仓库的源数据。n数据加入数据仓库时的转换。数据加入数据仓库时的转换。n数据模型。数据模型。n数据模型和数据仓库的关系。数据模型和数据仓库的关系。n抽取数据的历史记录。抽取数据的历史记录。元数据分类元数据分类o数据源的元
49、数据数据源的元数据o数据模型的元数据数据模型的元数据o数据仓库映射的元数据数据仓库映射的元数据o数据仓库使用的元数据数据仓库使用的元数据数据源的元数据数据源的元数据o这类元数据是对不同平台上的数据源的物理这类元数据是对不同平台上的数据源的物理结构和含义的描述。具体为:结构和含义的描述。具体为:n数据源中所有物理数据结构,包括所有的数据数据源中所有物理数据结构,包括所有的数据项及数据类型。项及数据类型。n所有数据项的业务定义。所有数据项的业务定义。n每个数据项更新的频率,以及由谁或那个过程每个数据项更新的频率,以及由谁或那个过程更新的说明。更新的说明。n每个数据项的有效值。每个数据项的有效值。数
50、据模型的元数据数据模型的元数据o这组元数据描述了数据仓库中有什么数据以这组元数据描述了数据仓库中有什么数据以及数据之间的关系,它们是用户使用管理数及数据之间的关系,它们是用户使用管理数据仓库的基础。据仓库的基础。o这种的元数据可以支持用户从数据仓库中获这种的元数据可以支持用户从数据仓库中获取数据。取数据。数据模型元数据示例数据模型元数据示例o例如,雇员与技能之间的关系例如,雇员与技能之间的关系数据仓库映射的元数据数据仓库映射的元数据o这类元数据是数据源与数据仓库数据间的映这类元数据是数据源与数据仓库数据间的映射。射。o当数据源中的一个数据项与数据仓库建立了当数据源中的一个数据项与数据仓库建立了
51、映射关系,就应该记下这些数据项发生的任映射关系,就应该记下这些数据项发生的任何变换或变动。即用元数据反映数据仓库中何变换或变动。即用元数据反映数据仓库中的数据项是从哪个特定的数据源填充的,经的数据项是从哪个特定的数据源填充的,经过那些转换,变换和加载过程。过那些转换,变换和加载过程。数据仓库映射的元数据示例数据仓库映射的元数据示例o一个数据的抽取要经过许多步骤。如图所示:o源数据与目标数据之间的映射源数据与目标数据之间的映射(1)抽取工作)抽取工作(2)抽取工作步骤)抽取工作步骤(3)抽取表映射)抽取表映射(4)抽取属性映射)抽取属性映射(5)记录筛选规则)记录筛选规则数据仓库使用的元数据数据
52、仓库使用的元数据o这类元数据是数据仓库中信息的使用情况描述。这类元数据是数据仓库中信息的使用情况描述。o数据仓库的用户最关心的是两类元数据:数据仓库的用户最关心的是两类元数据:n(1)元数据告诉数据仓库中有什么数据,它们从哪里来。)元数据告诉数据仓库中有什么数据,它们从哪里来。即如何按主题查看数据仓库的内容。即如何按主题查看数据仓库的内容。n(2)元数据提供已有的可重复利用的查询语言信息。如)元数据提供已有的可重复利用的查询语言信息。如果某个查询能够满足他们的需求,或者与他们的愿望相果某个查询能够满足他们的需求,或者与他们的愿望相似,他们就可以再次使用那些查询而不必从头开始编程。似,他们就可以再次使用那些查询而不必从头开始编程。o关于数据仓库使用的元数据能帮助用户到数据仓库关于数据仓库使用的元数据能帮助用户到数据仓库查询所需要的信息,用于解决企业问题查询所需要的信息,用于解决企业问题