1、Data Warehouse and Data Mining 第第2章章 数据仓库原理数据仓库原理北京邮电大学北京邮电大学计算机学院计算机学院王小茹王小茹北邮计算机学院:王小茹北邮计算机学院:王小茹内容提要内容提要 数据仓库的结构和技术要求数据仓库的结构和技术要求 数据仓库中的数据数据仓库中的数据 元数据元数据北邮计算机学院:王小茹北邮计算机学院:王小茹2.1 数据仓库的结构与技术要求数据仓库的结构与技术要求 数据仓库的总体结构数据仓库的总体结构 数据集市数据集市 数据仓库的技术要求数据仓库的技术要求北邮计算机学院:王小茹北邮计算机学院:王小茹1.数据仓库的概念结构数据仓库的概念结构 数据源、
2、数据准备区、数据仓库数据库、数据集市数据源、数据准备区、数据仓库数据库、数据集市知识挖掘库以及各种管理工具和应用工具知识挖掘库以及各种管理工具和应用工具北邮计算机学院:王小茹北邮计算机学院:王小茹数据仓库的概念结构数据仓库的概念结构数据仓库在创建以后数据仓库在创建以后:首先要从首先要从数据源数据源中抽取所需要的中抽取所需要的数据到数据准备区数据到数据准备区,在数据准备区中经过数据的净化处理,在数据准备区中经过数据的净化处理再加载到再加载到数据仓库数据库数据仓库数据库中中最后根据用户的需求将数据发布到最后根据用户的需求将数据发布到数据集市数据集市/知识挖掘库知识挖掘库中。中。当用户使用数据仓库时
3、,可以通过当用户使用数据仓库时,可以通过OLAP等数据仓库等数据仓库应用工具应用工具向数据集市知识挖掘库或向数据集市知识挖掘库或数据仓库进行决策查询分析或知识挖掘。数据仓库进行决策查询分析或知识挖掘。北邮计算机学院:王小茹北邮计算机学院:王小茹2.数据仓库的总体层次结构数据仓库的总体层次结构 为实现数据仓库的功能,数据仓库的总体层为实现数据仓库的功能,数据仓库的总体层次结构包括:次结构包括:数据仓库基本功能层数据仓库基本功能层 数据库仓库管理层数据库仓库管理层 数据仓库环境支持层数据仓库环境支持层北邮计算机学院:王小茹北邮计算机学院:王小茹(1)数据仓库的基本功能层数据仓库的基本功能层从数据源
4、抽取数据从数据源抽取数据对所抽取的数据进行筛选、清理,将清理后的数据加对所抽取的数据进行筛选、清理,将清理后的数据加载到数据仓库中载到数据仓库中根据用户的需求设立数据集市,完成数据仓库的复杂根据用户的需求设立数据集市,完成数据仓库的复杂查询、决策分析和知识的挖掘等功能。查询、决策分析和知识的挖掘等功能。(2)数据仓库的管理层数据仓库的管理层数据仓库的管理层包含数据管理与元数据管理两部分。数据仓库的管理层包含数据管理与元数据管理两部分。数据管理与元数据管理主要负责对数据仓库中的数据抽取、清理、数据管理与元数据管理主要负责对数据仓库中的数据抽取、清理、加载、更新与刷新等操作进行管理加载、更新与刷新
5、等操作进行管理.(3)数据仓库环境支持层数据仓库环境支持层数据仓库环境支持层主要包含数据传输和数据仓库基础两大部分。数据仓库环境支持层主要包含数据传输和数据仓库基础两大部分。数据仓库的总体层次结构数据仓库的总体层次结构北邮计算机学院:王小茹北邮计算机学院:王小茹3.数据仓库的结构模式数据仓库的结构模式 数据仓库作为数据存储的一种组织形式,它数据仓库作为数据存储的一种组织形式,它从最初的数据源获得原始数据,按照决策的从最初的数据源获得原始数据,按照决策的要求重新组织,形成具有不同粒度的综合数要求重新组织,形成具有不同粒度的综合数据层,这是数据仓库结构的一个方面。据层,这是数据仓库结构的一个方面。
6、数据仓库还需要对其中存储的数据进行操纵、数据仓库还需要对其中存储的数据进行操纵、管理等,以支持决策,这是数据仓库结构的管理等,以支持决策,这是数据仓库结构的另一方面。另一方面。北邮计算机学院:王小茹北邮计算机学院:王小茹(1)数据仓库的自顶向下结构)数据仓库的自顶向下结构北邮计算机学院:王小茹北邮计算机学院:王小茹自顶向下结构自顶向下结构 这种结构开始于对原始数据的处理。这种结构开始于对原始数据的处理。包括抽取、转换、迁移等处理过程,用于将传统数据库或外包括抽取、转换、迁移等处理过程,用于将传统数据库或外部数据源的数据处理后输出到一个集中的数据驻留单元。部数据源的数据处理后输出到一个集中的数据
7、驻留单元。随后,数据和元数据装载进入数据仓库。随后,数据和元数据装载进入数据仓库。一旦这些过程完成,就可根据数据仓库所包含的各种数据来建一旦这些过程完成,就可根据数据仓库所包含的各种数据来建立数据集市。立数据集市。在数据仓库中不但包含全部的元数据、当前详细数据,同时在数据仓库中不但包含全部的元数据、当前详细数据,同时还存储详尽的历史数据。还存储详尽的历史数据。数据集市则拥有轻度和高度综合的数据及元数据。数据集市则拥有轻度和高度综合的数据及元数据。北邮计算机学院:王小茹北邮计算机学院:王小茹发展状况发展状况在自顶向下的结构中,数据仓库普遍采用实体在自顶向下的结构中,数据仓库普遍采用实体关系关系(
8、Entity Relationship,E-R)数据模型,数据模型,而数据集市则采用星形数据模型来提高性能。而数据集市则采用星形数据模型来提高性能。只要能满足数据集市是作为数据仓库子集的这只要能满足数据集市是作为数据仓库子集的这条原则,数据仓库和数据集市间的集成就能自条原则,数据仓库和数据集市间的集成就能自动完成。动完成。这种模式要求首先建立数据仓库,但是由于数这种模式要求首先建立数据仓库,但是由于数据仓库建设规模较大,实施周期长,费用高,据仓库建设规模较大,实施周期长,费用高,初期效果并不明显,甚至最终失败,致使许多初期效果并不明显,甚至最终失败,致使许多企业不愿或无法承受。企业不愿或无法承
9、受。北邮计算机学院:王小茹北邮计算机学院:王小茹2.数据仓库的自底向上的结构数据仓库的自底向上的结构北邮计算机学院:王小茹北邮计算机学院:王小茹数据仓库的自底向上的结构数据仓库的自底向上的结构 基于上述情况,一种自底向上建设多级数据仓库的基于上述情况,一种自底向上建设多级数据仓库的思想也就产生了,即建立数据集市的思想。思想也就产生了,即建立数据集市的思想。这种思想的核心是从最关键的部分开始,先以最少这种思想的核心是从最关键的部分开始,先以最少的投资,完成企业当前需求,获得最快的回报,然后的投资,完成企业当前需求,获得最快的回报,然后再不断扩充,不断完善、通过从小做起、从部分做起,再不断扩充,不
10、断完善、通过从小做起、从部分做起,走逐步集成、逐步完善的道路,最终建立全局数据仓走逐步集成、逐步完善的道路,最终建立全局数据仓库。库。这种结构有助于部门级管理人员合理安排预算和及这种结构有助于部门级管理人员合理安排预算和及时采用新的数据仓库技术来产生合乎自己角色的专门时采用新的数据仓库技术来产生合乎自己角色的专门应用。自底向上的结构逐渐为人们所认同。应用。自底向上的结构逐渐为人们所认同。北邮计算机学院:王小茹北邮计算机学院:王小茹数据仓库的构建过程数据仓库的构建过程自底向上结构的核心是通过独立开发的数据集市逐渐自底向上结构的核心是通过独立开发的数据集市逐渐构建数据仓库。构建数据仓库。这种结构的
11、流程从建立数据集市的抽取、转换、转移这种结构的流程从建立数据集市的抽取、转换、转移和装载过程开始,在这些过程中,不需要一个通用的和装载过程开始,在这些过程中,不需要一个通用的数据驻留单元,因为每个数据集市都可能有自己独立数据驻留单元,因为每个数据集市都可能有自己独立的存储区域,甚至每个数据集市的数据抽取、转换、的存储区域,甚至每个数据集市的数据抽取、转换、转移和装载的工具都可能不同。转移和装载的工具都可能不同。北邮计算机学院:王小茹北邮计算机学院:王小茹自底向上自底向上 VS 自定向上自定向上从集成的角度来看,自底向上与自顶向下结构的最大差异在于:从集成的角度来看,自底向上与自顶向下结构的最大
12、差异在于:前者不需要为创建数据集市而具备通用的元数据部件。前者不需要为创建数据集市而具备通用的元数据部件。北邮计算机学院:王小茹北邮计算机学院:王小茹2.1.2 数据集市数据集市数据仓库在管理、决策组织中的作用逐渐为人们认同,数据仓库在管理、决策组织中的作用逐渐为人们认同,但是在全组织范围内构建数据仓库的工作量大、代价很但是在全组织范围内构建数据仓库的工作量大、代价很高。高。一方面,如何满足组织中不同层次管理决策要求是一个一方面,如何满足组织中不同层次管理决策要求是一个需要解决的复杂问题;需要解决的复杂问题;另一方面,在实施过程中由于很难全面了解组织管理决另一方面,在实施过程中由于很难全面了解
13、组织管理决策要求,易造成项目进度拖延,建成的数据仓库起不到策要求,易造成项目进度拖延,建成的数据仓库起不到应有的作用,因此导致失败的例子也不鲜见。应有的作用,因此导致失败的例子也不鲜见。提出了数据集市提出了数据集市(Data Mart)的概念。的概念。北邮计算机学院:王小茹北邮计算机学院:王小茹什么是数据集市什么是数据集市数据仓库在全组织范围内为各个部门提供管理、决策支持,数据仓库在全组织范围内为各个部门提供管理、决策支持,而数据集市通常在部门级,一般只能为某个局部范围内的管而数据集市通常在部门级,一般只能为某个局部范围内的管理人员服务,理人员服务,因此也称之为部门级数据仓库因此也称之为部门级
14、数据仓库.(Department Data Warehouse)数据集市是指具有特定应用的数据仓库,主要针对某个具有数据集市是指具有特定应用的数据仓库,主要针对某个具有战略意义的应用或具体部门级的应用,支持用户利用已有的战略意义的应用或具体部门级的应用,支持用户利用已有的数据进行管理决策。数据进行管理决策。北邮计算机学院:王小茹北邮计算机学院:王小茹数据集市的特点数据集市的特点数据集市除具有数据仓库的基本特征以外,还具有以数据集市除具有数据仓库的基本特征以外,还具有以下特点:下特点:规模较小,灵活,可以按照多种方式来组织,如按规模较小,灵活,可以按照多种方式来组织,如按特定的应用等。特定的应用
15、等。开发工作一般由业务部门主持定义、设计、实施、开发工作一般由业务部门主持定义、设计、实施、管理和维护。管理和维护。能够快速实现,代价较低,投资回收期短,风险小。能够快速实现,代价较低,投资回收期短,风险小。紧密集成。紧密集成。有利于进一步升级到完整的数据仓库或形成分布式有利于进一步升级到完整的数据仓库或形成分布式数据仓库。数据仓库。北邮计算机学院:王小茹北邮计算机学院:王小茹2.数据集市的类型数据集市的类型数据集市可以分为两种,一种是独立数据集市,另一数据集市可以分为两种,一种是独立数据集市,另一种是从属数据集市。种是从属数据集市。图图2-5a2-5a表示的是数据仓库的逻辑结构。表示的是数据
16、仓库的逻辑结构。其中的数据来自于各个不同数据源,把它们的操作数其中的数据来自于各个不同数据源,把它们的操作数据按照企业数据仓库物理模型结构的定义转换过来。据按照企业数据仓库物理模型结构的定义转换过来。采用这种中央数据仓库的做法,可以保证数据的一致采用这种中央数据仓库的做法,可以保证数据的一致性。性。北邮计算机学院:王小茹北邮计算机学院:王小茹图图2-5b2-5b表示的是从属数据集市的逻辑结构,这种结构表示的是从属数据集市的逻辑结构,这种结构仍能保持数据的一致性。仍能保持数据的一致性。为那些访问数据仓库十分频繁的关键业务部门建立从为那些访问数据仓库十分频繁的关键业务部门建立从属的数据集市,这样可
17、以很好地提高查询的反应速度。属的数据集市,这样可以很好地提高查询的反应速度。北邮计算机学院:王小茹北邮计算机学院:王小茹北邮计算机学院:王小茹北邮计算机学院:王小茹图图2-5c描述了独立数据集市的逻辑结构,它的描述了独立数据集市的逻辑结构,它的数据直接来源于各生产系统。数据直接来源于各生产系统。许多企业在计划实施数据仓库时,往往出于投许多企业在计划实施数据仓库时,往往出于投资方面的考虑,最后建成的就是这种结构的独资方面的考虑,最后建成的就是这种结构的独立数据集市,用来解决个别部门比较迫切的决立数据集市,用来解决个别部门比较迫切的决策问题。策问题。它和企业数据仓库除了在数据量大小和服务对它和企业
18、数据仓库除了在数据量大小和服务对象上有所区别外,逻辑结构并无多大区别象上有所区别外,逻辑结构并无多大区别(也也许这是把数据集市称为部门数据仓库的主要原许这是把数据集市称为部门数据仓库的主要原因因)。北邮计算机学院:王小茹北邮计算机学院:王小茹3企业级数据集市结构企业级数据集市结构 尽管自底向上结构也存在许多缺点,但它基尽管自底向上结构也存在许多缺点,但它基于数据集市构建数据仓库的由小到大,由部分于数据集市构建数据仓库的由小到大,由部分到整体的思想给后来者很大的启发。到整体的思想给后来者很大的启发。自底向上结构的支持者对原有的技术和方案进自底向上结构的支持者对原有的技术和方案进行调整,发展成了如
19、图行调整,发展成了如图2-6所示的企业级数据所示的企业级数据集市结构集市结构(Enterprise Data Mart Architecture,EDMA)。北邮计算机学院:王小茹北邮计算机学院:王小茹北邮计算机学院:王小茹北邮计算机学院:王小茹2.2 数据仓库中的数据数据仓库中的数据数据仓库系统通常由数据仓库、管理部分和分数据仓库系统通常由数据仓库、管理部分和分析工具三个部分组成析工具三个部分组成.北邮计算机学院:王小茹北邮计算机学院:王小茹1 1数据仓库组成:仓库管理数据仓库组成:仓库管理数据仓库的数据来自多个数据源,包括企业内部数据和市场调查与分析的外部数据。数据仓库的数据来自多个数据源
20、,包括企业内部数据和市场调查与分析的外部数据。数据仓库管理部分的组成包括:数据仓库管理部分的组成包括:定义部件。这一部件用于定义和建立数据仓库系统。定义部件。这一部件用于定义和建立数据仓库系统。数据建模是建立数据仓库的数据模型。数据建模是建立数据仓库的数据模型。数据仓库的数据模型不同于数据库的数据模型在于:数据仓库的数据模型不同于数据库的数据模型在于:数据仓库只为决策分析用,不包含事务处理的数据。数据仓库只为决策分析用,不包含事务处理的数据。数据仓库的增加了时间属性数据。数据仓库的增加了时间属性数据。数据仓库增加了一些综合数据。数据仓库增加了一些综合数据。数据仓库的数据建模是适应决策用户使用的
21、逻辑数据模型。数据仓库的数据建模是适应决策用户使用的逻辑数据模型。北邮计算机学院:王小茹北邮计算机学院:王小茹数据仓库组成:数据获取部件数据仓库组成:数据获取部件数据获取部件。数据获取部件。依据数据定义部件定义的规则从数据源中将数据抽取到数据仓库中,完成清洗、依据数据定义部件定义的规则从数据源中将数据抽取到数据仓库中,完成清洗、变换和集成工作,将数据装载到数据仓库中,定期清理数据仓库,消除数据仓变换和集成工作,将数据装载到数据仓库中,定期清理数据仓库,消除数据仓库与源数据库的不一致,清除失效数据等。可以通过一些通用工具完成,但是库与源数据库的不一致,清除失效数据等。可以通过一些通用工具完成,但
22、是由于数据源中的数据类型、格式非常复杂,因此有些情况下需要编制特定的工由于数据源中的数据类型、格式非常复杂,因此有些情况下需要编制特定的工具完成数据获取工作。具完成数据获取工作。数据仓库中的数据,是通过在源数据中抽取数据,按数据仓库的逻辑数据模型的要求进行数据转换,再按物理数据模型的要求装载到数据仓库中去。数据抽取、转换、装载(ETL)是建立数据仓库的重要步骤,需要花费开发数据仓库70%的工作量。北邮计算机学院:王小茹北邮计算机学院:王小茹数据仓库组成:管理和元数据管理部件数据仓库组成:管理和元数据管理部件管理部件。主要包括对数据仓库中数据的维护、安全、备份、恢复、管理部件。主要包括对数据仓库
23、中数据的维护、安全、备份、恢复、日志等工作。这些工作需要借助数据库管理系统的功能实现。日志等工作。这些工作需要借助数据库管理系统的功能实现。元数据管理,也可称为信息目录管理。它主要完成元数据的管理、存元数据管理,也可称为信息目录管理。它主要完成元数据的管理、存储以及对整个数据仓库数据的检测和管理。储以及对整个数据仓库数据的检测和管理。由以下部分组成:由以下部分组成:技术元数据。技术元数据由关于数据源、目标、转换规则、清理规则技术元数据。技术元数据由关于数据源、目标、转换规则、清理规则以及数据源与数据仓库之间的映射组成。以及数据源与数据仓库之间的映射组成。业务目录。业务目录由数据仓库管理员生成,
24、由数据来源、当前值等业务目录。业务目录由数据仓库管理员生成,由数据来源、当前值等方面组成,是针对具体应用数据的元数据管理。方面组成,是针对具体应用数据的元数据管理。北邮计算机学院:王小茹北邮计算机学院:王小茹元数据管理,也可称为信息目录管理。它主要完成元数元数据管理,也可称为信息目录管理。它主要完成元数据的管理、存储以及对整个数据仓库数据的检测和管理。据的管理、存储以及对整个数据仓库数据的检测和管理。由以下部分组成:由以下部分组成:技术元数据。技术元数据由关于数据源、目标、转换规技术元数据。技术元数据由关于数据源、目标、转换规则、清理规则以及数据源与数据仓库之间的映射组成。则、清理规则以及数据
25、源与数据仓库之间的映射组成。业务目录。业务目录由数据仓库管理员生成,由数据来业务目录。业务目录由数据仓库管理员生成,由数据来源、当前值等方面组成,是针对具体应用数据的元数据管源、当前值等方面组成,是针对具体应用数据的元数据管理。理。北邮计算机学院:王小茹北邮计算机学院:王小茹2.数据仓库组成:工具集数据仓库组成:工具集北邮计算机学院:王小茹北邮计算机学院:王小茹31(1)查询工具 数据仓库的查询不是指对记录级数据的查询,而是指对分析要求的查询。一般包含:可视化工具:以图形化方式展示数据,可以帮助了解数据的结构,关系以及动态性。北邮计算机学院:王小茹北邮计算机学院:王小茹32(2)多维分析工具(
26、OLAP工具)通过对信息的多种可能的观察形式进行快速、一致和交互性的存取,这样便利用户对数据进行深入的分析和观察。多维数据的每一维代表对数据的一个特定的观察视角,如时间、地域、业务等。北邮计算机学院:王小茹北邮计算机学院:王小茹33(3)数据挖掘工具 从大量数据中挖掘具有规律性知识,需要利用数据挖掘(Data Mining)工具。北邮计算机学院:王小茹北邮计算机学院:王小茹3.数据仓库的运行结构数据仓库的运行结构34 数据仓库应用是一个典型的客户数据仓库应用是一个典型的客户/服务器(服务器(C/SC/S)结构形)结构形式:式:客户端所做的工作:客户交互、格式化查询、结果显示、客户端所做的工作:
27、客户交互、格式化查询、结果显示、报表生成等。报表生成等。服务器端完成各种辅助决策的服务器端完成各种辅助决策的SQLSQL查询、复杂的计算和各查询、复杂的计算和各类综合功能等。类综合功能等。客 户 端 数 据 仓 库 服 务 器 北邮计算机学院:王小茹北邮计算机学院:王小茹C/S工具工具北邮计算机学院:王小茹北邮计算机学院:王小茹36客 户 端OLAP 服 务 器数 据 仓 库服 务 器 OLAPOLAP服务器将加强和规范化决策支持的服务工服务器将加强和规范化决策支持的服务工作,集中和简化了原客户端和数据仓库服务器的部作,集中和简化了原客户端和数据仓库服务器的部分工作,降低了系统数据传输量。分工
28、作,降低了系统数据传输量。这种结构形式工作效率更高。这种结构形式工作效率更高。北邮计算机学院:王小茹北邮计算机学院:王小茹2.数据仓库的数据组织数据仓库的数据组织与数据库不同,通常采用分级的方式对数据进行组织,由元数据统一组织。与数据库不同,通常采用分级的方式对数据进行组织,由元数据统一组织。元元数数据据 高度综合数据高度综合数据轻度综合数据轻度综合数据当前基本数据当前基本数据历史数据层历史数据层 北邮计算机学院:王小茹北邮计算机学院:王小茹38近期基本数据:近期基本数据:是最近时期的业务数据,是数据仓是最近时期的业务数据,是数据仓库用户最感兴趣的部分,数据量大。库用户最感兴趣的部分,数据量大
29、。历史基本数据:历史基本数据:近期基本数据随时间的推移,由数近期基本数据随时间的推移,由数据仓库的时间控制机制转为历史基本数据。据仓库的时间控制机制转为历史基本数据。轻度综合数据:轻度综合数据:是从近期基本数据中提取出的,这是从近期基本数据中提取出的,这层 数 据 是 按 时 间 段 选 取,或 者 按 数 据 属 性层 数 据 是 按 时 间 段 选 取,或 者 按 数 据 属 性(attributesattributes)和内容()和内容(contentscontents)进行综合。)进行综合。高度综合数据层:高度综合数据层:这一层的数据是在轻度综合数据这一层的数据是在轻度综合数据基础上的
30、再一次综合,是一种准决策数据。基础上的再一次综合,是一种准决策数据。北邮计算机学院:王小茹北邮计算机学院:王小茹北邮计算机学院:王小茹北邮计算机学院:王小茹数据模型的意义数据模型的意义北邮计算机学院:王小茹北邮计算机学院:王小茹数据仓库模型数据仓库模型 数据模型数据模型是是对现实世界进行抽象对现实世界进行抽象的工具,需要将现的工具,需要将现实世界的事物及其有关特征转换为信息世界的数据,实世界的事物及其有关特征转换为信息世界的数据,才能对信息进行处理与管理,这就需要依靠才能对信息进行处理与管理,这就需要依靠数据模数据模型作为这种转换的桥梁型作为这种转换的桥梁。这种转换经历了从现实到概念模型,从概
31、念模型到这种转换经历了从现实到概念模型,从概念模型到逻辑模型,最后从逻辑模型到物理模型的转换。逻辑模型,最后从逻辑模型到物理模型的转换。在数据仓库的开发中同样也要经历在数据仓库的开发中同样也要经历概念模型概念模型、逻辑逻辑模型模型和和物理模型物理模型的三级模型开发。的三级模型开发。北邮计算机学院:王小茹北邮计算机学院:王小茹下图显示了现实与不同模型的变化联系,说明了业务处理系下图显示了现实与不同模型的变化联系,说明了业务处理系统开发中的数据模型变化关系,这种关系在数据仓库的开发统开发中的数据模型变化关系,这种关系在数据仓库的开发过程中也是同样存在的,只是在具体应用方面稍有变化。过程中也是同样存
32、在的,只是在具体应用方面稍有变化。北邮计算机学院:王小茹北邮计算机学院:王小茹北邮计算机学院:王小茹北邮计算机学院:王小茹北邮计算机学院:王小茹北邮计算机学院:王小茹45 数据仓库存储采用多维数据模型。数据仓库存储采用多维数据模型。果汁可乐牛奶商品维奶油浴巾香皂北京上海长沙1 2 3 4 5 6 7城市维日期维北邮计算机学院:王小茹北邮计算机学院:王小茹从关系表和电子表格到数据立方体从关系表和电子表格到数据立方体北邮计算机学院:王小茹北邮计算机学院:王小茹47 维就是相同类数据的集合,商店、时间和产品都是维。各个商店的集合是一维,时间的集合是一维,商品的集合是一维。每一个商店、每一段时间、每一
33、种商品就是某一维的一个成员。每一个销售事实由一个特定的商品、一个特定的时间、一个特定的商品组成。两维表,如通常的电子表格。三维构成立方体,若再增加一维,则图形很难想象,也不容易在屏幕上画出来。北邮计算机学院:王小茹北邮计算机学院:王小茹北邮计算机学院:王小茹北邮计算机学院:王小茹1.数据仓库的概念模型数据仓库的概念模型北邮计算机学院:王小茹北邮计算机学院:王小茹50 大多数的数据仓库都采用“星型模型”。星型模型是由“事实表”(大表)以及多个“维表”(小表)所组成。“事实表”中存放大量关于企业的事实数据(数量数据)。例如:多个时期的数据可能会出现在同一个“事实表”中。“维表”中存放描述性数据,维
34、表是围绕事实表建立的较小的表。星型模型数据如下图:2.2.1星型模型星型模型北邮计算机学院:王小茹北邮计算机学院:王小茹星型模式实例星型模式实例维表:就是对维的属性描述维表:就是对维的属性描述事实表:由每个维表的关键字和事实度量构成,数据量非常大事实表:由每个维表的关键字和事实度量构成,数据量非常大北邮计算机学院:王小茹北邮计算机学院:王小茹52北邮计算机学院:王小茹北邮计算机学院:王小茹订货表客户表销售员表事实表产品表日期表地区表星型模型数据存储情况示意图 北邮计算机学院:王小茹北邮计算机学院:王小茹54 2.2.22.2.2雪花模型雪花模型 雪花模型对星型模型的维表进一步层次化,原来的各维
35、表雪花模型对星型模型的维表进一步层次化,原来的各维表可能被扩展为小的事实表,形成一些局部的可能被扩展为小的事实表,形成一些局部的“层次层次”区域。区域。在上面星型模型的数据中在上面星型模型的数据中 ,对,对“产品表产品表”“”“日期日期表表”“”“地区表地区表”进行扩展形成雪花模型数据见下图。进行扩展形成雪花模型数据见下图。2.2.32.2.3星网模型星网模型 星网模型是将多个星型模型连接起来形成网状结构。多个星网模型是将多个星型模型连接起来形成网状结构。多个星型模型通过相同的维,如时间维,连接多个事实表。星型模型通过相同的维,如时间维,连接多个事实表。北邮计算机学院:王小茹北邮计算机学院:王
36、小茹雪花模型雪花模型与星型模型的不同就是把维表进行了规范化,消除冗余(把冗余字段用新表表与星型模型的不同就是把维表进行了规范化,消除冗余(把冗余字段用新表表示)示)北邮计算机学院:王小茹北邮计算机学院:王小茹56事实星座模式实例事实星座模式实例在实际中,很多事实表具有共享的维(维关键字),则把事实表组合(主题整在实际中,很多事实表具有共享的维(维关键字),则把事实表组合(主题整合)合)北邮计算机学院:王小茹北邮计算机学院:王小茹地区键事务键用户键时间键状态键时间键用户键事务键地区键电话费用时间键用户键状态键电话余额电话公司星网模型实例 北邮计算机学院:王小茹北邮计算机学院:王小茹定义星形、雪花
37、形、事实星座模式的例子定义星形、雪花形、事实星座模式的例子北邮计算机学院:王小茹北邮计算机学院:王小茹北邮计算机学院:王小茹北邮计算机学院:王小茹北邮计算机学院:王小茹北邮计算机学院:王小茹北邮计算机学院:王小茹北邮计算机学院:王小茹北邮计算机学院:王小茹北邮计算机学院:王小茹 概念分层有利于数据在不同层次的汇总。概念分层有利于数据在不同层次的汇总。北邮计算机学院:王小茹北邮计算机学院:王小茹北邮计算机学院:王小茹北邮计算机学院:王小茹多维数据模型的多维数据模型的OLAP操作操作建立自己的数据仓库模型建立自己的数据仓库模型北邮计算机学院:王小茹北邮计算机学院:王小茹 汇总,数据减少。形成小立方
38、体,汇总,数据减少。形成小立方体,得到更详细的数据立方体得到更详细的数据立方体北邮计算机学院:王小茹北邮计算机学院:王小茹北邮计算机学院:王小茹北邮计算机学院:王小茹北邮计算机学院:王小茹北邮计算机学院:王小茹北邮计算机学院:王小茹北邮计算机学院:王小茹北邮计算机学院:王小茹北邮计算机学院:王小茹北邮计算机学院:王小茹北邮计算机学院:王小茹北邮计算机学院:王小茹北邮计算机学院:王小茹北邮计算机学院:王小茹北邮计算机学院:王小茹772.3数据抽取、转换和装载 数据仓库的数据来源于多个数据源,主要是企业内部数据;存档的历史数据;企业的外部数据。这些数据源可能是在不同的硬件平台上,使用不同的操作系统
39、。源数据是以不同的格式存放在不同的数据库中。数据仓库需要将这些源数据经过抽取、转换和装载的过程,存储到数据仓库的数据模型中。可以说,数据仓库的数据获取需要经过抽取(Extraction)、转换(Transform)、装载(Load)三个过程即ETL过程。北邮计算机学院:王小茹北邮计算机学院:王小茹78231 数据抽取(1)确认数据源(2)数据抽取技术北邮计算机学院:王小茹北邮计算机学院:王小茹791.确认数据源列出对事实表的每一个数据项和事实列出每一个维度属性对于每个目标数据项,找出源数据项一个数据元素有多个来源,选择最好的来源确认一个目标字段的多个源字段,建立合并规则确认一个目标字段的多个源
40、字段,建立分离规则确定默认值检查缺失值的源数据北邮计算机学院:王小茹北邮计算机学院:王小茹802.数据抽取技术当前值。源系统中存储的数据都代表了当前时刻的值。当商业交易时,这些数据是会发生变化的。周期性的状态。这类数据存储的是每次发生变化时的状态。例如,对于每一保险索赔,都经过索赔开始、确认、评估和解决等步骤,都要考虑有时间说明。北邮计算机学院:王小茹北邮计算机学院:王小茹81232 数据转换 1.数据转换的基本功能 2.数据转换类型 3.数据整合和合并 4.如何实施转换北邮计算机学院:王小茹北邮计算机学院:王小茹821.数据转换的基本功能选择:选择:从源系统中选择整个记录或者部分记录。从源系
41、统中选择整个记录或者部分记录。分离分离/合并:合并:对源系统中的数据进行分离操作或者合并操作。对源系统中的数据进行分离操作或者合并操作。转化:转化:对源系统进行标准化和可理解化。对源系统进行标准化和可理解化。汇总:汇总:将最低粒度数据进行汇总。将最低粒度数据进行汇总。清晰:清晰:对单个字段数据进行重新分配和简化对单个字段数据进行重新分配和简化。北邮计算机学院:王小茹北邮计算机学院:王小茹832.数据转换类型(1)格式修正(2)字段的解码(3)计算值和导出值(4)单个字段的分离(5)信息的合并(6)特征集合转化(7)度量单位的转化(8)关键字重新构造(9)汇总(10)日期/时间转化北邮计算机学院
42、:王小茹北邮计算机学院:王小茹843.数据整合和合并数据整合和合并是将相关的源数据组合成一致的数据结构,装入数据仓库。(1)实体识别问题 数据来源于多个不同的客户系统,对相同客户可能分别有不同的键码,将它们组合成一条单独的记录。(2)多数据源相同属性不同值的问题 不同系统中得到的值存在一些差别,需要给出合理的值。北邮计算机学院:王小茹北邮计算机学院:王小茹854.如何实施转换自己编写程序实现数据转换使用转换工具北邮计算机学院:王小茹北邮计算机学院:王小茹86233 数据装载(1)数据装载方式(2)数据装载类型北邮计算机学院:王小茹北邮计算机学院:王小茹871.数据装载方式基本装载按照装载的目标
43、表,将转换过的数据输入到目标表中去。按照装载的目标表,将转换过的数据输入到目标表中去。追加如果目标表中已经存在数据,追加过程在保存已有数据的基础上增加如果目标表中已经存在数据,追加过程在保存已有数据的基础上增加输入数据。输入数据。破坏性合并用新输入数据更新目标记录数据。用新输入数据更新目标记录数据。建设性合并保留已有的记录,增加输入的记录,并标记为旧记录的替代。保留已有的记录,增加输入的记录,并标记为旧记录的替代。北邮计算机学院:王小茹北邮计算机学院:王小茹882.数据装载类型 最初装载这是第一次对整个数据仓库进行装载。这是第一次对整个数据仓库进行装载。增量装载由于源系统的变化,数据仓库需要装
44、载变化的数据。由于源系统的变化,数据仓库需要装载变化的数据。完全刷新这种类型的数据装载用于周期性重写数据仓库。这种类型的数据装载用于周期性重写数据仓库。北邮计算机学院:王小茹北邮计算机学院:王小茹892.3.4 ETL工具 数据转换引擎 代码生成器 通过复制捕获数据北邮计算机学院:王小茹北邮计算机学院:王小茹9024 元数据241 元数据的重要性242 关于数据源的元数据243 关于数据模型的元数据244 关于数据仓库映射的元数据245 关于数据仓库使用的元数据北邮计算机学院:王小茹北邮计算机学院:王小茹91241 元数据的重要性 最基本的元数据相当于数据库系统中的数据字典。元数据定义了数据仓
45、库有什么,指明了数据仓库中数据的内容和位置,刻画了数据的抽取和转换规则,存储了与数据仓库主题有关的各种商业信息,而且整个数据仓库的运行都是基于元数据的。北邮计算机学院:王小茹北邮计算机学院:王小茹92 这类元数据是对不同平台上的数据源的物理结构这类元数据是对不同平台上的数据源的物理结构和含义的描述。具体为:和含义的描述。具体为:(1 1)数据源中所有物理数据结构,包括所有的)数据源中所有物理数据结构,包括所有的数据项及数据类型。数据项及数据类型。(2 2)所有数据项的业务定义。)所有数据项的业务定义。(3 3)每个数据项更新的频率,以及由谁或那个)每个数据项更新的频率,以及由谁或那个过程更新的
46、说明。过程更新的说明。(4 4)每个数据项的有效值。)每个数据项的有效值。2.4.22.4.2关于数据源的元数据关于数据源的元数据北邮计算机学院:王小茹北邮计算机学院:王小茹93 这组元数据描述了数据仓库中有什么数据以及这组元数据描述了数据仓库中有什么数据以及数据之间的关系,它们是用户使用管理数据仓数据之间的关系,它们是用户使用管理数据仓库的基础。库的基础。这种的元数据可以支持用户从数据仓库中获这种的元数据可以支持用户从数据仓库中获取数据。取数据。2.4.32.4.3关于数据模型的元数据关于数据模型的元数据北邮计算机学院:王小茹北邮计算机学院:王小茹94 例如,雇员与技能之间的关系如图例如,雇
47、员与技能之间的关系如图2.13表示。表示。EmployeeE_NoE_SE_NoS_CodeSkillS_Code1213北邮计算机学院:王小茹北邮计算机学院:王小茹95关系 I/O 对象I/O Object IDEmployeeE_SSkill关系成员R_IDIO_ID12121313EmployeeE_SE_SSKillR_ID1213R_IDIO_IDField_ID12121313EmployeeE_SE_SSkillE_NoE_NoS_CodeS_Code关系关键字元数据描述如下:元数据描述如下:北邮计算机学院:王小茹北邮计算机学院:王小茹96 这类元数据是数据源与数据仓库数据间的这
48、类元数据是数据源与数据仓库数据间的映射。映射。当数据源中的一个数据项与数据仓库建立当数据源中的一个数据项与数据仓库建立了映射关系,就应该记下这些数据项发生的任了映射关系,就应该记下这些数据项发生的任何变换或变动。即用元数据反映数据仓库中的何变换或变动。即用元数据反映数据仓库中的数据项是从哪个特定的数据源填充的,经过那数据项是从哪个特定的数据源填充的,经过那些转换,变换和加载过程。些转换,变换和加载过程。2.4.42.4.4关于数据仓库映射的元数据关于数据仓库映射的元数据北邮计算机学院:王小茹北邮计算机学院:王小茹971抽取工作之间的复杂关系抽取工作之间的复杂关系 一个数据的抽取要经过许多步骤。
49、如图所示:一个数据的抽取要经过许多步骤。如图所示:源数据获取过滤验证融合综合装载存档目标北邮计算机学院:王小茹北邮计算机学院:王小茹982源数据与目标数据之间的映射(1)抽取工作(2)抽取工作步骤(3)抽取表映射(4)抽取属性映射(5)记录筛选规则北邮计算机学院:王小茹北邮计算机学院:王小茹99 这类元数据是数据仓库中信息的使用情况描述。这类元数据是数据仓库中信息的使用情况描述。数据仓库的用户最关心的是两类元数据:数据仓库的用户最关心的是两类元数据:(1 1)元数据告诉数据仓库中有什么数据,它们从哪里来。)元数据告诉数据仓库中有什么数据,它们从哪里来。即如何按主题查看数据仓库的内容。即如何按主题查看数据仓库的内容。(2 2)元数据提供已有的可重复利用的查询语言信息。如果)元数据提供已有的可重复利用的查询语言信息。如果某个查询能够满足他们的需求,或者与他们的愿望相似,他们某个查询能够满足他们的需求,或者与他们的愿望相似,他们就可以再次使用那些查询而不必从头开始编程。就可以再次使用那些查询而不必从头开始编程。关于数据仓库使用的元数据能帮助用户到数据仓库查询所关于数据仓库使用的元数据能帮助用户到数据仓库查询所需要的信息,用于解决企业问题。需要的信息,用于解决企业问题。