收藏 分享(赏)

数据仓库与数据挖掘原理及应用(第二版)_教学课件_ppt 作者 王丽珍 周丽华 陈红梅 第2章.ppt

上传人:微传9988 文档编号:3197540 上传时间:2018-10-07 格式:PPT 页数:60 大小:664.50KB
下载 相关 举报
数据仓库与数据挖掘原理及应用(第二版)_教学课件_ppt 作者 王丽珍 周丽华 陈红梅 第2章.ppt_第1页
第1页 / 共60页
数据仓库与数据挖掘原理及应用(第二版)_教学课件_ppt 作者 王丽珍 周丽华 陈红梅 第2章.ppt_第2页
第2页 / 共60页
数据仓库与数据挖掘原理及应用(第二版)_教学课件_ppt 作者 王丽珍 周丽华 陈红梅 第2章.ppt_第3页
第3页 / 共60页
数据仓库与数据挖掘原理及应用(第二版)_教学课件_ppt 作者 王丽珍 周丽华 陈红梅 第2章.ppt_第4页
第4页 / 共60页
数据仓库与数据挖掘原理及应用(第二版)_教学课件_ppt 作者 王丽珍 周丽华 陈红梅 第2章.ppt_第5页
第5页 / 共60页
点击查看更多>>
资源描述

1、1,在线教务辅导网:http:/,教材其余课件及动画素材请查阅在线教务辅导网,QQ:349134187 或者直接输入下面地址:,http:/,2,第二章 数据仓库中的ETL和元数据,3,第二章 目录,2.1 ETL 2.2 元数据 2.3 外部数据 2.4 本章小结,4,2.1 ETL 2.1.1 ETL概念(1),在构建数据仓库的过程中,占据大量工作时间、在日常运行中经常出现问题并且问题最多的一个工作就是从业务数据库向数据仓库抽取、转换、加载数据。究其原因,是因为源数据往往来自于各种不同种类和形式的业务系统。为了保证数据仓库中数据的质量,需要一种支持多种数据源,具有数据“净化提炼”功能、数据

2、加工功能和自动运行功能的抽取类程序。ETL正是这样的抽取程序。数据仓库的ETL系统是数据仓库中数据整理阶段的一个主要工具,它与元数据管理相结合,提供对不同数据源的数据进行抽取、转换和加载的功能。ETL是数据从业务系统抽取转化到数据仓库的过程,具体包括了如下6个子过程:数据提取(Data Extract)、数据验证(Data Verification)、数据清理(Data Cleaning)、数据集成(Data Integration)、数据聚集(Data Aggregation)和数据加载(Data Load)。6个子过程之间的关系以及ETL过程中数据和元数据的流动见图2.1。,5,通常而言,

3、开发一个数据仓库项目包括了三个主要步骤:需求/建模,ETL开发和前端开发。其中,ETL是构建数据仓库的重要一环,同时也是构建数据仓库的基础与前提,是数据仓库从业务系统获得数据的必经之路。用户从数据源抽取出所需的数据,经过数据清洗和转换,最终按照预先定义好的数据仓库模型,将数据加载到数据仓库中去。,2.1.1 ETL概念(2),6,在数据仓库建设的业务需求和数据分析阶段,我们将创建许多种数据映射信息。ETL 数据映射表是指导ETL过程设计的最佳方式,可以将该表用作与业务客户就数据映射和ETL过程问题进行交流的方式。ETL数据映射表有不同的级别,如实体级别和属性级别。每个级别中都具有不同级别的详细

4、数据映射信息。表2.1是一个实体级别的ETL数据映射表的简化例子。该表中的每个“X”表示到操作细节或较低级数据映射文档的链接。,2.1.1 ETL概念(3),7,1. 数据提取(Data Extract)数据提取是捕获源数据的过程。有两种捕获数据的主要方法: 完全刷新 增量更新完全刷新,顾名思义,是对移入数据仓库的数据进行完全复制。该复制可能替换数据仓库中的内容,及时在新的时间点上添加完整的新副本,或者与目标数据进行比较,以便在目标中生成一条修改记录。增量更新的关注重点是只捕获源数据中修改的数据。数据的提取须既能满足决策的需要,又不影响业务系统的性能,所以进行数据提取时应制定相应的策略,包括提

5、取方式、提取时机、提取周期等内容。在制定提取策略时,需要对数据的种类、数据的特征以及数据内容等各项因素综合考虑。通常情况下,流水型增长且数据量大的数据适合采用增量更新的方式;经常变化更新的数据适合采用完全刷新的方式;对于两者结合的数据,优先考虑增量更新方式,其次才考虑完全刷新的方式。对于提取周期要考虑实际业务的需要和提取进行的系统代价,在可能的情况下,尽量缩短提取周期。,2.1.1 ETL概念(4),8,2. 数据验证(Data Verification)数据验证是一个处理不尽人意(less-than-perfect)的数据的过程。在数据仓库建设的业务数据分析阶段,一般产生了一组数据质量假设。

6、这些假设将指定客户和仓库建设者双方在数据质量问题上的职责。仓库建设者通常通过数据清理和增强等方法保证仓库的质量,而客户则可以从数据源本身出发,来有效地解决数据质量问题,这常常是保证数据质量的关键问题。例如: 丢失的数据恢复。 模糊的数据转换。 业务操作应用程序带来的数据质量问题 只能从应用程序本身解决的数据质量问题。一般应该在数据仓库建设的合同文档中包含数据质量假设,因为如果没有用正确的方法及时解决业务数据的质量问题,它可能严重影响数据仓库建设的时间表。数据质量假设可能是与客户进行时间表协商的一个重要条件。,2.1.1 ETL概念(5),9,即使假设客户将承担其责任,解决他们业务数据源中的数据

7、质量问题,但将来仍然可能在业务数据源中再次产生质量较差的数据。在那些数据对后面的ETL过程产生负面影响之前,实现数据验证,用ETL的数据验证模块来拒绝它们就显得十分重要。数据验证包含许多检查,其中主要包括: 属性的有效值(域检查)。 属性在剩余行的环境中是有效的。 属性在该表或其他表中相关的环境中是有效的。 关系在该表和其他表中的行间是有效的(外键检查)。 这并非是一个详尽的列表。它仅仅强调了数据验证的一些基本概念。,2.1.1 ETL概念(6),10,3. 数据清理(Data Cleaning)数据清理是清理有效数据,使之更精确更有意义的过程。数据清理包括下列任务: 数据合并。 域转换和同步

8、。 数据类型和格式的转换。 用于不同目标表的数据分离(Data splitting)。数据合并的一个常见例子就是姓名和地址信息。客户的姓名和地址信息通常存储在多个位置上。经过一段时间,这些信息可能就不同步了。,2.1.1 ETL概念(7),11,一般的数据清理将提供下列可供指定的清理类型: 查找替换:在规则表的Find列中定位所选择的源列值,然后在目标表中用规则表中相应的替换值替换该值。规则表是这种清理类型所必需的。规则表指定数据清理查找和替换过程中将使用的值。 数字修剪:缩短超出了指定范围的数字输入值。范围内的输入值将不加修改的写入输出。范围之外的输入值将由下界替换值或上界替换值进行替换。规

9、则表是这种清理类型所必需的。 离散化处理:基于规则表中的范围执行输入值的离散化(discretization)。规则表是这种清理类型所必需的。如果允许该清理类型为空(null),则必须在规则表的 Bound 列中放入null值。 带“null”处理的传输:指定输入表中要复制到输出表中的列。可以从输入表中选择多个列移至输出表中。规则表不是这种清理类型所必需的。这种清理类型允许用指定的值替换空(null)值。还可以拒绝null,并将所拒绝的行写入错误表中。,2.1.1 ETL概念(8),12, 大小写转换:将源列中的字符从大写转换成小写,或从小写转换成大写,并将其插入目标列中。默认情况下,将源列中

10、的字符转换成大写。规则表不是这种清理类型所必需的。 无效值的替换: 用指定的值替换没有包含在所使用的规则表的有效值列中的所有值。必须指定与源列数据类型相同的替换值。例如,如果源列是数字类型的,则必须指定一个数字型的替换值。有效值在写入目标表时不会发生改变。规则表是这种清理类型所必需的。大多数清理类型都有一个Matching Options窗口,用于指定希望用来处理匹配的方式。,2.1.1 ETL概念(9),13,4. 数据集成(Data Integration)数据集成是将多个数据源联合成一个统一数据接口来进行数据分析的过程。数据集成是仓库数据转换过程中最重要的步骤,也是数据仓库设计中的关键概

11、念。数据集成可能极其复杂。在该模块中,可以应用数据集成业务规则以及数据转换逻辑和算法。集成过程的源数据可以来自两个或更多数据源,它通常包含不同的连接操作。源数据还可能来自单个数据源,该类型的数据集成通常包含域值的合并和转换。集成结果通常生成新的数据实体或属性,易于终端用户进行访问和理解。,2.1.1 ETL概念(10),14,5. 数据聚集(Data Aggregation)数据聚集是收集并以总结形式表达信息的过程。数据聚集通常是数据仓库需求的一部分,它通常是以业务报表的形式出现的。在多维模型中,数据聚集路径是维度表设计中的重要部分。因为数据仓库几乎都是关系数据模型类型的,所以最好是从数据集市

12、构建业务报表。如果直接从数据仓库构建报表,需确保数据聚集表与其余的仓库数据模式相对分隔,这样,报表的业务需求修改将不影响基本的数据仓库数据结构。,2.1.1 ETL概念(11),15,6. 将数据装入仓库目标表将数据移至中心数据仓库中的目标表通常是ETL过程的最后步骤。装入数据的最佳方法取决于所执行操作的类型以及需要装入多少数据。一般可以通过两种基本方法在数据库表中插入和修改数据: SQL insert/update/delete(IUD) 成批load实用程序大多数应用程序使用SQL IUD操作,因为它们进行了日志记录并且是可恢复的。但是,成批加载操作易于使用,并且在装入大量数据时速度极快。

13、使用哪种数据装入方法取决于业务环境,应在ETL设计文档中指定装入方法。总之,ETL是数据仓库建设的一个重要步骤,它从业务系统的资源中抽取、转换数据并将数据加载到数据仓库或数据集市中,用于以后的分析。ETL过程关系到数据的质量,是数据仓库应用的基石。实践证明在建设数据仓库的过程中,ETL过程已经占到50%以上,因此,必须对ETL给予充分的重视。,2.1.1 ETL概念(12),16,2.1.2 ETL作用(1)在企业管理中,高层管理者总是希望能随时随地访问到任何他们需要的信息,这就要求有一个体系结构来容纳各种格式的内部数据和外部数据,例如经营数据、历史数据、现行数据以及来自internet服务提

14、供商的数据,此外还应包括易于访问的元数据。这些数据源因为来源不同,具有大量、分散和不清洁的特点,不能为数据仓库直接使用,而对所有数据的分析、挖掘活动也必须建立在一个数据清洁、结构良好的数据仓库的基础之上。这些必须由ETL来实现,它是数据仓库获得高质量的数据的环节,其必要性体现在:1. 解决数据分散问题对于企业来说,数据主要有四个方面的来源:客户信息、客户行为、生产系统和其他相关数据。如果只对某个系统的数据进行分析,以作为决策支持的依据,显然有信息不全面、分析不准确的缺点。ETL可以解决这些问题。根据企业决策的需求,数据仓库将决策分析用的数据集中在一起。,17,2. 解决数据质量问题分散的数据也

15、带来了数据质量的问题。同一个客户的信息在不同系统中的数据不一致,而且有些数据可能是不真实的。另外,分散的业务系统中的数据是面向业务的,而不是面向决策的。ETL模块解决了数据不清洁的问题,并将数据转换为决策分析所需要的类型。通过对分散数据的集中,清洁和转换,数据仓库中才能存储着清洁、一致、全面和面向决策的数据。3. 方便企业各部门构筑数据集市数据仓库是面向整个企业的数据应用,而针对各个部门的信息应用是构筑数据集市。数据集市的数据是按照部门从数据仓库中抽取,并进行加工处理。构筑数据集市过程中,使用ETL工具,既简化操作,又可以大幅度提高运行效率。,2.1.2 ETL作用(2),18,2.1.3 E

16、TL工具(1)至今为止,数据仓库的实用化已经走过了十多年的历程,应用领域遍及通信、证劵、银行、税务和保险等行业。而各大数据库厂商纷纷宣布产品支持数据仓库并提出了用以建立和使用数据仓库的产品,如Informaix、Oracle、Microsoft、IBM公司等。1. ETL工具分类从ETL的操作环境,ETL工具可以被分成3种类型:(1)交互型。指定数据源、目标数据及规则,及时实施ETL。这种交互式的操作无疑非常方便,但是只能适合小数据量和复杂度不高的ETL过程,一旦规则复杂了,可能需要语言级的描述。还有数据量和性能的问题,这种交互式环境的灵活性必然以牺牲一定的性能为代价,因此,如果要处理海量数据

17、,性能将成为这类工具的瓶颈问题。,19,(2)编码型。它提供了一个基于某种语言的程序框架,可以将编程精力主要放在规则(即数据转换)的实现上,而不必放在其它功能上,例如读文件功能、写数据库的功能。对于处理大数据量,处理复杂数据转换的ETL实现,这类工具应该是理想的。(3)代码生成器型。它是一个ETL代码生成器,提供简单的图形化界面操作,在可视化的环境中设定转换规则,自动生成基于某种语言的程序,编译后即可运行。这类工具的出发点是集上述两类工具的优点为一体,是ETL工具发展的理想方向。,2.1.3 ETL工具(2),20,从市场和价格等角度,主流的ETL工具又可以被分为两大类:一类是专业ETL厂商和

18、产品,另一类是整体方案提供商和产品。( 1 )专业ETL厂商和产品这类产品一般都有较完善的体系结构,并且久经市场考验,产品功能的复杂和详尽程度往往能令初次接触的人膛目,但其高昂的价格也会使一般用户望而却步。典型产品有Ascential DataStageXE和Informatica。 ( 2 )整体方案提供商和产品它们在提供数据仓库存储、设计、展现工具的同时也提供相应的ETL工具,这类产品一般对自己厂商的相关产品有很好的支持并能发挥出最大效率,但结构相对封闭,对其他厂商产品的支持也有限。如Oracle Warehouse Builder和IBM Warehouse Manager。,2.1.3

19、 ETL工具(3),21,2. ETL工具比较各厂商的产品具有不同的特点,他们的ETL工具也各有优势和不足,表2.2对几个主要数据库厂商的ETL工具进行了简单比较。,2.1.3 ETL工具(4),22,3. ETL工具选择前面已经介绍:目前已有众多厂家推出了各自的ETL工具,面对众多的产品,用户应该如何选择合适的ETL工具?事实上,用户应该从功能的角度出发,选择能够最大限度完成所需要求的ETL工具。ETL工具的功能可以概括为:对平台的支持;对数据源的支持;数据转换功能;管理和调度功能;集成和开放性以及对元数据的管理。在工具的选择上,用户重点考虑这些可能影响ETL工具的要素。(1)对平台的支持

20、随着各种应用系统数据量的飞速增长和对业务可靠性的要求不断提高,数据抽取工具面对的要求往往是将上百个GB的数据在有限的几个小时内完成抽取、转换和加载,这种挑战势必要求抽取工具对高性能的硬件和主机提供支持。因此,可以从ETL工具所支持的平台来判断其能否满足需求。,2.1.3 ETL工具(5),23,(2)对数据源的支持 对数据源支持的重要性不言而喻,因此这个指标必须仔细的考虑。首先需要对项目中可能会遇到的各种数据源有一个清晰的认识,其次对各种工具提供的数据源接口类型也要有深入了解,比如,针对同一种数据库,使用通用的接口(如ODBC/JDBC)还是原厂商自己的专用接口,数据抽取效率会有很大差别,这直

21、接关系到能不能在有限的时间内完成ETL任务。 (3)数据转换功能 数据转换是ETL中最令人头疼的问题,由于业务系统的开发一般有一个较长的时间跨度,这就造成同一种数据在业务系统中可能会有多种完全不同的存储格式,甚至还有许多数据仓库分析中所要求的数据在业务系统中并不直接存在,而是需要根据某些公式对各部分数据进行计算才能得到。这就要求ETL工具必须对抽取到的数据能进行灵活的计算、合并、拆分等转换操作。,2.1.3 ETL工具(6),24,(4)管理和调度功能 由于对数据抽取的要求越来越高以及专业ETL工具的不断涌现,ETL过程早已不再是一个简单的小程序就能完成,目前主流的工具都采用诸如多线程、分布式

22、、负载均衡、集中管理等高性能、高可靠性与易管理和扩展的多层体系架构,因此要求ETL的管理和调度上都具备相应的功能。 (5)集成和开放性 随着数据仓库技术在国内应用的不断深入,许多开发商希望不向用户提供ETL工具的独立操作环境,而是将其一些主要功能模块嵌入到已有的系统或其他厂商的系统中,因为在大多数情况下一般项目只会用到ETL工具的少数几个功能。给用户提供过于复杂的操作环境,反倒使用户容易产生操作错误。这要求ETL工具能提供很好的集成性和开放性,例如,与OLAP集成;与前端工具集成;是否能调用各种外部应用,是否支持客户化定制的转换过程等。,2.1.3 ETL工具(7),25,(6)对元数据的管理

23、 元数据是描述数据的数据,其对于ETL来说尤其重要。ETL中大量的数据源定义、映射规则、转换规则、装载策略等都属于元数据范畴,如何妥善的存储这些信息不仅关系到ETL过程能否顺利完成,而且影响到后期的使用和维护。任何业务逻辑的微小改变最终都落实为相应元数据的调整,初期没有一个完善的元数据管理功能,后期做相应调整几乎是“不可完成的任务”。因此,一个好的ETL工具应该具有一定的元数据管理能力。通过对上述六个要素的权衡,用户可以最终选择合适的ETL工具,以实现数据仓库中的ETL任务。,2.1.3 ETL工具(8),26,第二章 目录,2.1 ETL 2.2 元数据 2.3 外部数据 2.4 本章小结,

24、27,2.2 元数据,数据仓库环境中一个重要方面是元数据(metadata)。简单地说,元数据就是“描述数据的数据”。只要有程序和数据,元数据就是信息处理环境的一部分。在数据仓库中,元数据扮演一个新的重要角色。也正因为有了元数据,用户才可以最有效地利用数据仓库。元数据使得用户可以掌握数据的历史情况,如1)数据从哪里来?2)流通时间有多长?3)更新频率是多大?4)数据元素的含义是什么?5)对它已经进行了哪些计算、转换和筛选等等。在需求不确定情况下,在瞬间万变的商业环境下,元数据可以更好的支持需求的变化,降低项目风险。事实上,元数据贯穿于建立数据仓库的整个过程之中,是数据仓库构建过程中的一个重要部

25、分,起着至关重要的作用。,28,2.2.1 什么是元数据(1)随着信息技术的迅速发展和应用广度、深度的日益扩大,导致数据指数级的增加。然而惊人的数据量以及无法判断数据的有效性,导致了“数据太多,信息太少”的尴尬局面。在这样的情况下,管理者已经意识到数据只有在其全部重要的属性被使用者知道和理解之后,才是真正意义上的资源,才能引导我们做出高质量的决策。因此,必须要赋予数据以内容,把数据置于上下文环境中,使其对使用者是有用的、相关的和有目的的。同时,数据还必须是完整的、准确的。元数据正是解决上述问题的有效机制。1. 元数据的概念按照传统的定义,元数据是描述数据的数据。在数据仓库系统中,元数据是描述数

26、据仓库内数据的结构和建立方法的数据,指在数据仓库建设过程中所产生的有关数据源定义,目标定义,转换规则等相关的关键数据,同时元数据还包含关于数据含义的商业信息。,29,元数据可以帮助数据仓库管理员和数据仓库的开发人员非常方便地找到他们所关心的数据。对元数据的妥善保存和管理将为数据仓库的发展和使用提供方便,使得最终用户和DSS 分析员能够探索各种可能性。如图2.2所示,元数据贯穿于整个数据仓库系统中。,2.2.1 什么是元数据(2),30,2. 元数据的分类按照用途对元数据进行分类是最常见的分类方法,可将其分为两类:管理元数据和用户元数据。管理元数据主要为负责开发、维护数据仓库的IT人员所使用。管

27、理元数据是存储关于数据仓库系统技术细节的数据,是用于开发和管理数据仓库使用的数据,它主要包括以下信息:1)数据仓库结构的描述,包括仓库模式、视图、维、层次结构和导出数据的定义,以及数据集市的位置和内容。2)业务系统、数据仓库和数据集市的体系结构和模式。3)汇总用的算法,包括度量和维定义算法,数据粒度、主题领域、聚集、汇总、预定义的查询与报告。4)由操作环境到数据仓库环境的映射,包括源数据和它们的内容、数据分割、数据提取、清理、转换规则和数据刷新规则、安全(用户授权和存取控制)。,2.2.1 什么是元数据(3),31,用户元数据从业务角度描述了数据仓库中的数据,它提供了介于使用者和实际系统之间的

28、语义层,使得不懂计算机技术的业务人员也能够“读懂”数据仓库中的数据。用户元数据是从最终用户的角度来描述数据仓库。通过用户元数据,用户可以了解:1)应该如何连接数据仓库。2)可以访问数据仓库的哪些部分。3)所需要的数据来自哪一个源系统。还可以按照其他多个标准对元数据进行分类,如:1)按照元数据的来源,可以将元数据分为:数据源的元数据、数据模型的元数据、数据源与数据仓库映射的元数据、数据仓库应用的元数据。2)按照元数据生成/使用的时间进行分类,可以分为:设计时收集/使用的元数据、构建时生成/使用的元数据和运行时生成/使用的元数据。3)按照数据仓库功能区域的划分对元数据进行分类,可以分为三类:数据获

29、取元数据、数据存储元数据、信息传递元数据。4)按照元数据在数据仓库中所承担的任务,可以将元数据分为静态元数据和动态元数据。,2.2.1 什么是元数据(4),32,3. 元数据的作用与其说数据仓库是软件开发项目,还不如说是系统集成项目,因为它的主要工作是把所需的数据仓库工具集成在一起,完成数据的抽取、转换和加载,OLAP分析和数据挖掘等。如图2.3所示,它的典型结构由操作环境层、数据仓库层和决策分析层等组成。,2.2.1 什么是元数据(5),33,其中,第一层(操作环境层)是指整个企业内有关业务的OLTP系统和一些外部数据源;第二层是通过把第一层的相关数据抽取到一个中心区而组成的数据仓库层;第三

30、层是为了完成对业务数据的分析而由各种工具组成的决策分析层。图中左边的部分是元数据管理,它起到了承上启下的作用,具体体现在以下几个方面:(1)元数据是进行数据集成所必需的数据仓库最大的特点就是它的集成性。这一特点不仅体现在它所包含的数据上,还体现在实施数据仓库项目的过程当中。一方面,从各个数据源中抽取的数据要按照一定的模式存入数据仓库中,这些数据源与数据仓库中数据的对应关系及转换规则都要存储在元数据知识库中;另一方面,在数据仓库项目实施过程中,直接建立数据仓库往往费时、费力,因此在实践当中,人们可能会按照统一的数据模型,首先建设数据集市,然后在各个数据集市的基础上再建设数据仓库。,2.2.1 什

31、么是元数据(6),34,不过,当数据集市数量增多时很容易形成“蜘蛛网”现象,而元数据管理是解决“蜘蛛网”的关键。如果在建立数据集市的过程中,注意了元数据管理,在集成到数据仓库中时就会比较顺利;相反,如果在建设数据集市的过程中忽视了元数据管理,那么最后的集成过程就会很困难,甚至不可能实现。(2)元数据定义的语义层可以帮助最终用户理解数据仓库中的数据最终用户不可能像数据仓库系统管理员或开发人员那样熟悉数据仓库技术,因此迫切需要有一个“翻译”,能够使他们清晰地理解数据仓库中数据的含义。元数据可以实现业务模型与数据模型之间的映射,因而可以把数据以用户需要的方式“翻译”出来,从而帮助最终用户理解和使用数

32、据。,2.2.1 什么是元数据(7),35,(3)元数据是保证数据质量的关键数据仓库或数据集市建立好以后,使用者在使用的时候,常常会产生对数据的怀疑。这些怀疑往往是由于底层的数据对于用户来说是不“透明”的。而借助元数据管理系统,最终的使用者对各个数据的来龙去脉以及数据抽取和转换的规则都会很方便地得到,这样他们自然会对数据具有信心。当然也可便捷地发现数据所存在的质量问题。甚至国外有学者还在元数据模型的基础上引入质量维,从更高的角度上来解决这一问题。(4)元数据可以支持需求变化随着信息技术的发展和企业职能的变化,企业的需求也在不断地改变。如何构造一个随着需求改变而平滑变化的软件系统,是软件工程领域

33、中的一个重要问题。传统的信息系统往往是通过文档来适应需求变化,但是仅仅依靠文档还是远远不够的。成功的元数据管理系统可以把整个业务的工作流、数据流和信息流有效地管理起来,使得系统不依赖特定的开发人员,从而提高系统的可扩展性。,2.2.1 什么是元数据(8),36,4. 元数据的来源元数据存在于数据仓库过程中的每个步骤,在不同的数据仓库处理过程中都会产生一些新的元数据。这些过程包括源系统、数据抽取、数据清洗、数据转换、数据加载、数据存储、信息传递等。下面介绍这些过程所产生的元数据。(1)源系统在源系统中,元数据的内容包括对操作型数据模型、系统文件的数据元素定义、物理文件布局以及字段定义、外部数据来

34、源的文件布局和字段定义等内容的描述。(2)数据抽取在数据抽取阶段,产生的元数据包含所选择的数据源的布局和定义、用于抽取的字段的定义、标准化字段类型与长度的规则、数据抽取计划等内容。,2.2.1 什么是元数据(9),37,(3)数据清洗和转换该阶段中元数据描述文件的转换规则、字段的默认值、有效性检查的规则、分类及重排序安排等内容。(4)数据加载在数据加载过程中,元数据记录文件分配键的分配规则、完全刷新的计划、增量加载的计划等内容。(5)数据存储元数据包含对数据仓库的数据模型、物理文件、表和列的定义、有效性检查的规则等内容的描述。(6)信息传递此阶段的元数据包括描述预定义查询和报表的列表、特殊OL

35、AP分析的数据模型以及为OLAP分析制定的数据计划。,2.2.1 什么是元数据(10),38,2.2.2 元数据的标准化(1)没有规矩不成方圆。为了更好地发挥元数据在数据仓库中的作用,必须对其进行有效的管理,而一个统一的元数据标准是元数据管理的前提。但目前缺乏全行业内统一的标准。在这种情况下,各公司的元数据管理解决方案各不相同。近几年,随着元数据联盟MDC(meta data coalition)的开放信息模型OIM(open information model)和OMG组织的公共仓库模型CWM(common warehouse model)标准的逐渐完善,以及MDC和OMG组织的合并,将为数

36、据仓库厂商提供统一的标准,从而为元数据管理铺平道路。,39,下面分别介绍数据仓库领域中两个最主要的元数据标准:MDC的OIM标准和OMG的CWM标准。1. MDC的OIM存储模型MDC成立于1995年,是一个致力于建立与厂商无关的、不依赖于具体技术的企业元数据管理标准的非赢利技术联盟,该联盟有150多个会员,其中包括微软和IBM等著名软件厂商。1999年7月MDC接受了微软的建议,将OIM作为元数据标准。OIM的目的是通过公共的元数据信息来支持不同工具和系统之间数据的共享和重用。它涉及了信息系统开发(从设计到发布)的各个阶段,通过对元数据类型的标准描述来达到工具和知识库之间的数据共享。OIM所

37、声明的元数据类型都采用统一建模语言UML(universal modeling language)进行描述,并被组织成易于使用、易于扩展的多个主题范围(subject areas)。,2.2.2 元数据的标准化(2),40,这些主题范围包括:1)分析与设计(analysis and design):主要用于软件分析、设计和建模。2)对象与组件(object and component):涉及面向对象开发技术的方方面面。3)数据库与数据仓库(database and warehousing):为数据库模式管理、复用和建立数据仓库提供元数据概念支持。4)业务工程(business engineer

38、ing):为企业运作提供一个蓝图。5)知识管理(knowledge management):涉及企业的信息结构。上述主题范围中的包都是采用UML定义的,可以说UML语言是整个OIM标准的基础。虽然OIM标准并不是专门针对数据仓库的,但数据仓库是它的主要应用领域之一。目前市场上基于该标准的元数据管理工具已经比较成熟,例如微软的Repository和CA的Repository均采用了OIM标准。,2.2.2 元数据的标准化(3),41,2. OMG组织的CWM模型OMG是一个拥有500多个会员的国际标准化组织,著名的CORBA标准即出自该组织。公共仓库元模型(common warehouse me

39、tamodel)的主要目的是在异构环境下,帮助不同的数据仓库工具、平台和元数据知识库进行元数据交换。2001年3月,OMG颁布了CWM 1.0标准。CWM模型既包括元数据存储,也包括元数据交换,它是基于UML,MOF(元对象设施)XMI(XML元数据交换)和三个工业标准制定的。CWM为数据仓库和商业智能(BI)工具之间共享元数据,制定了一整套关于语法和语义的规范。它主要包含以下四个方面的规范:1)CWM元模型(Metamodel):描述数据仓库系统的模型。2)CWM XML:CWM元模型的XML表示。3)CWM DTD:DW/BI共享元数据的交换格式。4)CWM IDL:DW/BI共享元数据的

40、应用程序访问接口(API)。,2.2.2 元数据的标准化(4),42,3. CWM与OIM之间的关系前面分别介绍了与数据仓库相关的两个主要标准,CWM实际上是专门为数据仓库元数据而制定的一套标准,而OIM并不是针对数据仓库元数据的。OIM所关注的元数据的范围比CWM要广,CWM只限定于数据仓库领域,而OIM模型却包括有:分析与设计模型、对象与组件、数据库与数据仓库、商业智能、知识管理等五个领域。OIM与CWM在建模语言的选择(都选择UML当做自己的描述语言)、数据库模型的支持、OLAP分析模型的支持、数据转换模型的支持方面都比较一致;但是OIM并不是基于元对象设施(MOF)的,这意味着用OIM

41、所描述的元数据需要通过其他的接口才能访问,而CWM所描述的元数据可以通过CORBA IDL来访问;在数据交换方面,OIM必须通过特定的转换形成XML文件来交换元数据,而CWM可以用XMI来进行交换。尽管如此,由于OMG与MDC两个组织的合并,CWM也会与OIM相互兼容以保护厂商已有的投资。需要说明的是,MDC与OMG组织已经合并,今后所有的工具都将遵循统一的CWM标准,不过支持CWM的工具才刚刚出现,而支持OIM标准的工具已经相对成熟。,2.2.2 元数据的标准化(5),43,2.2.3 数据仓库中的元数据管理(1)1. 元数据管理的具体内容元数据可以作为数据仓库用户使用数据仓库的地图,但它更

42、要为数据仓库开发人员和管理人员提供支持。元数据管理的具体内容如下:(1)获取并存储元数据数据仓库中数据的时间跨度较长(510年),此间,源系统可能会发生变化,则与之对应的数据抽取方法、数据转换算法以及数据仓库本身的结构和内容也有可能变化。因此,数据仓库环境中的元数据必须具有跟踪这些变动的能力。这也意味着元数据管理必须提供按照合适的版本来获取和存储元数据的方法使元数据可以随时间变化。(2)元数据集成不论是管理元数据和用户元数据,还是来自源系统数据模型的元数据和来自数据仓库数据模型的元数据,都必须以一种用户能够理解的统一方式集成。元数据集成是元数据管理中的难点。,44,(3)元数据标准化每一个工具

43、都有自己专用的元数据,不同的工具(如抽取工具和转换工具)中存储的同一种元数据必须用同一种方式表示,不同工具之间也应该可以自由、容易地交换元数据。元数据标准化是对元数据管理提出的另一个巨大挑战。 (4)保持元数据的同步关于数据结构、数据元素、事件、规则的元数据必须在任何时间、在整个数据仓库中保持同步。同时,如果数据或规则变化导致元数据发生变化时,这个变化也要反映到数据仓库中。在数据仓库中保持统一的元数据版本控制的工作是十分繁重的。目前,实施对元数据管理的方法主要有两种:对于相对简单的环境,按照通用的元数据管理标准建立一个集中式的元数据知识库;对于比较复杂的环境,分别建立各部分的元数据管理系统,形

44、成分布式元数据知识库。然后,通过建立标准的元数据交换格式,实现元数据的集成管理。,2.2.3 数据仓库中的元数据管理(2),45,2. 元数据管理工具如图2.4所示,与元数据管理相关的数据仓库工具大致可分为四类:,2.2.3 数据仓库中的元数据管理(3),46,(1)ETL工具ETL工具的功能是把业务系统中的数据抽取、转换、加载到数据仓库中,如Ardent的DataStage,CA的Decision Base和ETL的Extract等。(2)前端展现工具前端展现工具包括OLAP分析、报表和商业智能工具等,如Cognos的PowerPlay,Business Objects的BO等。它们通过把关

45、系表映射成与业务相关的事实和维来支持多维业务视图,进而对数据仓库中的数据进行多维分析。这些工具都提供了管理元数据与用户元数据相对应的语义层。,2.2.3 数据仓库中的元数据管理(4),47,(3)建模工具所谓“建模工具”指的是为非IT技术人员准备的业务建模工具,这些工具可以提供更高层的与特定业务相关的语义。如CA的Erwin,Sysbase的PowerDesigner以及Rational的Rose等。(4)元数据存储工具元数据通常存储在元数据库中(所谓元数据库就是专用的数据库,该数据库就如同一个“黑盒子”,外部无法知道这些工具所用到和产生的元数据是如何存储的)。而元数据存储(metadata

46、repository)工具一般独立于其它工具,为元数据提供一个集中的存储空间。这些工具包括微软的Repository,CA的Repository,Ardent的MetaStage和Sybase的WCC等。,2.2.3 数据仓库中的元数据管理(5),48,2.2.4 在数据仓库项目中使用元数据的建议(1)在具体数据仓库项目开发中,使用元数据应尽可能考虑以下问题:(1)ETL/元数据配合整体的建设策略元数据、ETL设计对数据仓库设计、构建至关重要,良好的元数据定义、ETL策略可以促进数据仓库的实施,反之,则可能导致数据仓库项目的失败。因此,在整体建设开发中必须对元数据和ETL给予充分的重视,而ET

47、L和元数据也要配合整体的建设策略。(2)从简单元数据管理做起,规范ETL设计实践证明:规范化对信息系统项目的开发益处良多,为促进数据仓库的建设,规范元数据管理,规范ETL设计,从简单做起十分必要。,49,(3)让业务人员尽早的使用元数据元数据的重要性已经众所周知,在构建数据仓库的过程中,必须将其付诸行动,让业务人员尽早使用元数据,为元数据的使用和管理打下坚实的基础。(4)尽量使用元数据维护数据仓库由于数据仓库的整合性是基于元数据的,因此使用元数据来维护数据仓库是合理且高效的。(5)根据元数据在不同阶段、对不同用户、不同的使用方法采用合适的管理手段。不同环境下元数据特点、功能不同,因此在元数据管

48、理上要“因材施教”,而不应该对其“一视同仁”。(6)建立元数据库元数据库不仅可以支持数据仓库实施的初期工作,而且对后续开发和维护有很大的帮助。因此,为元数据建立相应的元数据库不失为提高数据仓库项目质量的有效措施。,2.2.4 在数据仓库项目中使用元数据的建议(2),50,第二章 目录,2.1 ETL 2.2 元数据 2.3 外部数据 2.4 本章小结,51,2.3 外部数据,企业在创建数据仓库的过程中,为在竞争环境中求生存和发展,不仅需要掌握企业内部的情况,还需要了解企业外部的信息。我们把这些来自于企业外,描述企业外部环境的数据称为外部数据。 如图2.5所示,数据仓库中的源数据来源包含了现有业

49、务系统中的内部数据和企业外的外部数据。,52,2.3.1 外部数据和非结构化数据(1)外部数据往往有多种来源,如报纸期刊、咨询报告等等。除了来自于咨询报告等的结构化信息之外,外部数据的另一种来源是无法用数字或统一的结构表示的数据类,即非结构化数据。非结构化数据的两种最常见的类型是图像和声音。目前,处理图像数据和声音数据的技术并不像传统数字处理技术那么成熟,获取、处理图像和声音数据都有一定难度。另外,即使能够获取图像和声音数据,存储它们也需要大量的DASD设备,并且对它们的查找、显示或回放都是不方便的和缓慢的。,53,事实上,在数据仓库中存在一些与外部数据/非结构化数据的使用、存储相关的问题。1)访问的频率/可用频率:与内部数据定期抽取不同,外部数据的呈现频率是不可预测的,为了确保捕获正确的数据,必须建立永久的监控方式。2)数据的形式:外部数据的形式是完全没有规则的。为了使之有用并能放入数据仓库,就必须对外部数据进行一定的重新格式化,将其转化成为内部可接受的、有用的形式。3)不可预测性:外部数据可能来源于多种数据源。外部数据本身可用性的不可预测性使得即使获得所需要的外部数据,也很难保证其一致性和完整性。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 中等教育 > 小学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报