1.2数据仓库中的ETL和元数据1.2.1ETL1.2.2元数据1.2.3外部数据第一章数据仓库原理1.2数据仓库中的ETL和元数据1.2.1ETL一、ETL的概念数据仓库的ETL系统是数据仓库中数据整理阶段的一个主要工具,它与元数据管理相结合,提供对不同数据源的数据进行抽取、转换、清洗、装载的功能。通常而言,开发一个数据仓库项目包括了3个主要步骤:需求/建模,ETL开发,最后的前端开发。第一章数据仓库原理1.2.1ETL一、ETL的概念(续)数据源ETL数据抽取数据转换数据装载数据仓库OLAP数据挖掘客户端1.2数据仓库中的ETL和元数据第一章数据仓库原理1.2.1ETL一、ETL的概念(续)可以看出ETL是构建数据仓库的重要一环,同时也是构建数据仓库的基础与前提,是数据仓库从业务系统获得数据的必经之路。用户从数据源抽取出所需的数据,经过数据清洗,最终按照预先定义好的数据仓库模型,将数据装载到数据仓库中去。1.2数据仓库中的ETL和元数据第一章数据仓库原理1.2.1ETL一、ETL的概念数据抽取是数据源接口,从业务系统中抽取数据,为数据仓库输入数据。典型的数据抽取接口包括数据库接口和文件接口,对于不同的数据平台、不同源数据形式、不同性能要求和业务量的业务系统以及不同数据量的源数据,采取不同的数据抽取接口。1、数据抽取1.2数据仓库中的ETL和元数据第一章数据仓库原理1.2.1ETL一、ETL的概念1、数据抽取(续)在数据抽取时,需要重点考虑数据抽取的效率,以及对现有业务系统性能及安全的影响。数据的抽取须既能满足决策的需要,又不影响业务系统的性能,所以进行数据抽取时应制定相应的策略,包括抽取方式、抽取时机、抽取周期等内容。1.2数据仓库中的ETL和元数据第一章数据仓库原理1.2.1ETL一、ETL的概念2、数据转换和数据清洗数据转换和数据清洗是指对从业务系统中抽取的数据根据数据仓库系统模型的要求,进行数据的转换、清洗、拆分、汇总等处理,保证来自不同系统、不同格式的数据具有一致性和完整性,并按要求装入数据仓库。1.2数据仓库中的ETL和元数据第一章数据仓库原理1.2.1ETL一、ETL的概念2、数据转换和数据清洗(续)数据转换和数据清洗主要完成如下数据不一致:1)源数据库系统同数据仓库系统在模型上的差异。2)源数据库系统不一致。3)源数据结构不一致。4)源数据定义不规范导致错误数据。5)对数据的约束不严格,导致无意义数据。6)存在重复数据。1.2数据仓库中的ETL和元数据第一章数据仓库原理1.2.1ETL一、ETL的概念2、数据转换和数据清洗数据转换、清洗工作一般会有以下几种实现方法:1)在数据抽取过程中进行数据处理。2)使用异步数据装载,以文件的方式处理。3)在数据装载过程中进行数据处理。4)进入数据仓库以后再进行数据处理。1.2数据仓库中的ETL和元数据第一章数据仓库原理1.2.1ETL一、ETL的概念3、数据装载数据装载就是将从数据源系统中抽取、转换、清洗后的数据装载到数据仓库系统中。主要的数据装载技术有两种:1)使用数据仓库引擎厂商提供的数据装载工具进行数据装载。2)通过数据仓库引擎厂商提供的API编程进行数据装载。1.2数据仓库中的ETL和元数据第一章数据仓库原理1.2.1ETL一、ETL的概念3、数据装载(续)数据装载策略要考虑装载周期以及数据追加策略两方面的内容。装载周期要综合考虑业务分析需求和系统装载的代价,对不同业务系统的数据采用不同的数据装载周期。但必须保持同一时间业务数据的完整性。1.2数据仓库中的ETL和元数据第一章数据仓库原理1.2.1ETL一、ETL的概念3、数据装载(续)数据的追加策略根据数据的抽取策略以及业务规则确定,一般有3种类型:1)直接追加;2)全部覆盖;3)更新追加。1.2数据仓库中的ETL和元数据第一章数据仓库原理1.2.1ETL二、ETL的作用1、解决数据分散问题2、解决数据不清洁问题3、方便企业各部门构筑数据集市1.2数据仓库中的ETL和元数据第一章数据仓库原理1.2.1ETL三、ETL工具1、ETL工具分类(1)专业ETL厂商和产品这类产品一般都有较完善的体系结构,并且久经市场考验,产品功能的复杂和详尽程度往往能令初次接触的人瞪目,但其高昂的价格也会使一般用户望而却步。1.2数据仓库中的ETL和元数据第一章数据仓库原理1.2.1ETL三、ETL工具1、ETL工具分类(续)(2)整体方案提供商和产品这类产品在提供数据仓库存储、设计、展现工具的同时也提供相应的ETL工具,它们一般对自己厂商的相关产品有很好的支持并能发挥出最大效率,但结构相对封闭,对其他厂商产品的支持有限。1.2数据仓库中的ETL和元数据第一章数据仓库原理1.2.1ETL三、ETL工具2、ETL工具比较1.2数据仓库中的ETL和元数据第一章数据仓库原理数据库厂商ETL工具优点缺点IBMWarehouseManager数据源广泛,在大数据量的抽取中具有速度优势,提供编程接口和调用外部程序的功能;提供agent把数据抽取分布到工作站、小型机、大型机等各种平台界面不太友好,在处理复杂的数据源时面临较多的工作量ORACLEOracleWarehouseBuilder提供的躬耕包括:模型构造和设计;数据提取、移动和元数据管理;分析工具整合;数据仓库管理;具有开放可延伸的框架不能把数据抽取扩充到Unix工作站、小型机、大型机,流程繁琐,不易使用MICROSOFTDTS从广泛的数据源抽取数据,提供市场上最有效的编程方式,以及工作流的任务处理方式;提供调用外部吧程序的功能和强大、丰富的外部程序调用的对象库;按计划自动执行数据抽取就数据仓库环境而言,处理数据的量是有限的INFORMIXArdentDateStage提供工作流的方式,可以实现内部编程数据抽取功能的处理方式过于简单,程序的高效性和准确性方面的保证措施太少CAInforbump抽取速度比较快采用非工作流的工作方式,用户面临过大的工作量,程序的高效性和准确性方面的保证措施太少1.2.1ETL三、ETL工具3、ETL工具选择ETL工具的功能可以概括为:1)对平台的支持;2)对数据源的支持;3)数据转换功能;4)管理和调度功能;5)集成和开放性;6)对元数据的管理。在工具的选择时,用户重点考虑这些可能影响ETL工具的要素。1.2数据仓库中的ETL和元数据第一章数据仓库原理1.2.1ETL三、ETL工具3、ETL工具选择(续)性能ETL工具手工编码灵活性比较灵活最灵活难易程度相对容易要求一定的技术水平管理和维护容易较难性能和效率较高取决于编写者水平开发周期较短较长工作量中等较重价格较高相对较低1.2数据仓库中的ETL和元数据第一章数据仓库原理1.2.2元数据数据仓库环境中一个重要方面是元数据。简单地说,元数据就是“关于数据的数据”。只要有程序和数据,元数据就是信息处理环境的一部分。在数据仓库中,元数据扮演一个新的重要角色。也正因为有了元数据,用户才可以最有效地利用数据仓库。1.2数据仓库中的ETL和元数据第一章数据仓库原理1.2.2元数据元数据使得用户可以掌握数据历史,如:1)数据从哪里来?2)流通时间有多长?3)更新频率是多大?3)数据元素的含义是什么?5)对数据已经进行了哪些计算、转换和筛选等。1.2数据仓库中的ETL和元数据第一章数据仓库原理1.2.2元数据在需求不确定情况下,在瞬间万变的商业环境下,元数据可以更好的支持需求变化,降低项目风险。事实上,元数据贯穿于建立数据仓库的整个过程之中,是数据仓库构建过程中的一个重要部分,起着至关重要的作用。1.2数据仓库中的ETL和元数据第一章数据仓库原理1.2.2元数据一、什么是元数据1、元数据的概念在数据仓库系统中,元数据是关于数据仓库的数据,指在数据仓库建设过程中所产生的有关数据源定义、目标定义,转换规则等相关的关键数据,同时元数据还包含关于数据含义的商业信息。元数据可以帮助数据仓库管理员和数据仓库的开发人员非常方便地找到他们所关心的数据。1.2数据仓库中的ETL和元数据第一章数据仓库原理1.2.2元数据一、什么是元数据1、元数据的概念(续)元数据是描述数据仓库内数据的结构和建立方法的数据,对这些信息妥善保存,并很好地管理将为数据仓库的发展和使用提供方便,使得最终用户和DSS分析员能够探索各种可能性。1.2数据仓库中的ETL和元数据第一章数据仓库原理1.2.2元数据一、什么是元数据2、元数据的分类按照用途对元数据进行分类是最常见的分类方法,可将其分为两类:(1)管理元数据(2)用户元数据1.2数据仓库中的ETL和元数据第一章数据仓库原理1.2.2元数据一、什么是元数据2、元数据的分类(续)管理元数据是存储关于数据仓库系统技术细节的数据,是用于开发和管理数据仓库使用的数据,它主要包括以下信息:1)数据仓库结构的描述,包括仓库模式、视图、维、层次结构和导出数据的定义,以及数据集市的位置和内容。2)业务系统、数据仓库和数据集市的体系结构和模式。1.2数据仓库中的ETL和元数据第一章数据仓库原理1.2.2元数据一、什么是元数据2、元数据的分类(续)3)汇总数据用的算法,包括度量和维定义算法,数据粒度、主题领域、聚集、汇总、预定义的查询和报告。4)由操作环境到数据仓库环境的映射,包括源数据和它们的内容、数据分割、数据提取、清理、转换规则和数据刷新规则、安全。1.2数据仓库中的ETL和元数据第一章数据仓库原理1.2.2元数据一、什么是元数据2、元数据的分类(续)用户元数据从业务角度描述了数据仓库中的数据,它提供了介于使用者和实际系统之间的语义层,使得不懂计算机技术的业务人员也能够“读懂”数据仓库中的数据。用户元数据是从最终用户角度来描述数据仓库。通过用户元数据,用户可以了解:1)应该如何连接数据仓库。2)可以访问数据仓库的哪些部分。3)所需要的数据来自哪一个源系统。1.2数据仓库中的ETL和元数据第一章数据仓库原理1.2.2元数据一、什么是元数据2、元数据的分类按照元数据的来源,元数据可以分为:1)数据源的元数据2)数据模型的元数据3)数据源与数据仓库映射的元数据4)数据仓库应用的元数据1.2数据仓库中的ETL和元数据第一章数据仓库原理1.2.2元数据一、什么是元数据2、元数据的分类(续)按照元数据生成/使用的时间进行分类,可以分为:1)设计时收集/使用的元数据2)构建时生成/使用的元数据3)运行时生成/使用的元数据1.2数据仓库中的ETL和元数据第一章数据仓库原理1.2.2元数据一、什么是元数据2、元数据的分类按照数据仓库功能区域的划分,对元数据可以分为:1)数据获取元数据2)数据存储元数据3)信息传递元数据1.2数据仓库中的ETL和元数据第一章数据仓库原理1.2.2元数据一、什么是元数据2、元数据的分类按照元数据在数据仓库中所承担的任务,可以元数据分为:1)静态元数据2)动态元数据1.2数据仓库中的ETL和元数据第一章数据仓库原理1.2.2元数据一、什么是元数据3、元数据的作用RDBMS外部数据源数据仓库企业数据模型、多维数据模型即席查询OLAP分析数据挖掘管理元数据用户元数据元数据知识库操作环境层数据仓库层业务层1.2数据仓库中的ETL和元数据第一章数据仓库原理1.2.2元数据一、什么是元数据3、元数据的作用上图中左边的部分是元数据,它起到了承上启下的作用,具体体现在:(1)元数据是进行数据集成所必须的数据仓库最大的特点就是它的集成性。这一特点不仅体现在它所包含的数据上,还体现在实施数据仓库项目的过程中。1.2数据仓库中的ETL和元数据第一章数据仓库原理1.2.2元数据一、什么是元数据3、元数据的作用(续)一方面,从各个数据源中抽取的数据要按照一定的模式存入数据仓库中,这些数据源与数据仓库中数据的对应关系及转换规则都要存储在元数据知识库中。1.2数据仓库中的ETL和元数据第一章数据仓库原理1.2.2元数据一、什么是元数据3、元数据的作用(续)另一方面,在数据仓库项目实施过程中,直接建立数据仓库往往费时、费力,因此在实践当中