ETL工具介绍
1 ETL基本概念
1.1 ETL的定义 ETL分别是“Extract”、“ Transform” 、“Load”三个单词的首字母缩写也就是“抽取”、“转换”、“装载”,但我们日常往往简称其为数据抽取。ETL是BI/DW(商务智能/数据仓库)的核心和灵魂,按照统一的规则集成并提高数据的价值,是负责完成数据从数据源向目标数据仓库转化的过程,是实施数据仓库的重要步骤。ETL包含了三方面,首先是“抽取”:将数据从各种原始的业务系统中读取出来,这是所有工作的前提。其次“转换”:按照预先设计好的规则将抽取得数据进行转换,使本来异构的数据格式能统一起来。最后“装载”:将转换完的数据按计划增量或全部导入到数据仓库中。
1.2 ETL的作用整个BI/DW系统由三大部分组成:数据集成、数据仓库和数据集市、多维数据分析。通常,商务智能运作所依靠的信息系统是一个由传统系统、不兼容数据源、数据库与应用所共同构成的复杂数据集合,各个部分之间不能彼此交流。从这个层面看:目前运行的应用系统是用户花费了很大精力和财力构建的、不可替代的系统,特别是系统的数据。而新建的商务智能系统目的就是要通过数据分析来辅助用户决策,恰恰这些数据的来源、格式不一样,导致了系统实施、数据整合的难度。此时,非常希望有一个全面的解决方案来解决用户的困境,解决数据一致性与集成化问题,使用户能够从已有传统环境与平台中采集数据,并利用一个单一解决方案对其进行高效的转换。这个解决方案就是ETL。 ETL是BI/DW的核心和灵魂,按照统一的规则集成并提高数据的价值,是负责完成数据从数据源向目标数据仓库转化的过程,是实施数据仓库的重要步骤。如果说数据仓库的模型设计是一座大厦的设计蓝图,数据是砖瓦的话,那么ETL就是建设大厦的过程。在整个项目中最难部分是用户需求分析和模型设计,而ETL规则设计和实施则是工作量最大的,其工作量要占整个项目的60%-80%,这是国内外专家从众多实践中得到的普遍共识。ETL在BI/DW中的作用如图1-1所示。图1-1 ETL在BI/DW中的作用通常,用户的数据源分布在各个子系统和节点中,利用ETL将各个子系统上的数据,通过自动化FTP或手动控制传到UNIX或NT服务器上,进行抽取、清洗和转化处理,然后加载到数据仓库。因为现有业务数据源多,保证数据的一致性,真正理解数据的业务含义,跨越多平台、多系统整合数据,最大可能提高数据的质量,迎合业务需求不断变化的特性,是ETL技术处理的关键。
1.3 ETL工具的功能 ETL工具的功能可以概括为以下几方面:对平台的支持、对数据源的支持、数据转换功能、管理和调度功能、集成和开放性、对元数据的管理。下面对ETL工具的功能分别展开介绍。对平台的支持随着各种应用系统数据量的飞速增长和对业务可靠性的要求不断提高,数据抽取工具面对的要求往往是将几十上百个GB的数据在有限的几个小时内完成抽取转换和装载,这种挑战势必要求抽取工具对高性能的硬件和主机提供支持。因此,我们可以从数据抽取工具支持的平台的来判断其能否胜任你的环境,目前主流的平台包括SUN Solaris、 HP-UX、 IBM AIX、AS/400、 OS/390、Sco Unix、 Linux、 Windows等。 对数据源的支持对数据源支持的重要性不言而喻,因此这个指标必须仔细的考虑。首先你需要对项目中可能会遇到的各种数据源有清晰的认识,其次对各种工具提供的数据源接口类型也要有深入了解,比如,针对同一种数据库,使用通用的接口(如ODBC/JDBC)还是原厂商自己的专用接口,数据抽取效率会有很大差别,这直接关系到能不能在有限的时间内完成ETL任务。这里列出一些常见的数据源以供参考:DB2、 Informix、Oracle, Sybase、SQLServer、SAS,、Text、Excel、 SAP、Peoplesoft等。数据转换功能数据转换是ETL中最令人头疼的问题。由于业务系统的开发一般有一个较长的时间跨度,这就造成统一种数据在业务系统中可能会有多种完全不同的存储格式,甚至还有许多数据仓库分析中所要求的数据在业务系统中并不直接存在,而是需要根据某些公式对各部分数据进行计算才能得到。因此,这就要求ETL工具必须对抽取到的数据能进行灵活的计算、合并、拆分等转换操作。通常会遇到的转换要求有:字段映射;映射的自动匹配;字段的拆分;多字段的混合运算;跨异构数据库的关联;自定义函数;多数据类型支持;复杂条件过滤;支持脏读;数据的批量装载;时间类型的转换;对各种码表的支持;环境变量是否可以动态修改;去重复记录;抽取断点;记录间合并或计算;记录拆分;抽取的字段是否可以动态修改;行、列变换;排序;统计;度量衡等常用的转换函数;代理主键的生成;调试功能;抽取远程数据;增量抽取的处理方式;制造样品数据;在转换过程中是否支持数据比较的功能;数据预览;性能监控;数据清洗及标准化;按行,按列的分组聚合等。管理和调度功能由于对数据抽取的要求越来越高以及专业ETL工具的不断涌现,ETL过程早已不再是一个简单的小程序就能完成,目前主流的工具都采用像采用多线程、分布式、负载均衡、集中管理等高性能高可靠性与易管理和扩展的多层体系架构,因此这就要求ETL的管理和调度上都具备相应的功能。一般这方面的一些基本功能包括:抽取过程的备份与恢复;升级;版本管理;开发和发布;支持统一以及自定义的管理平台;支持时间触发方式;支持事件触发方式;支持命令行执行方式;支持用户对计算机资源的管理和分配;负载均衡;文档的自动生成;调度过程中能否执行其他任务等。集成和开放性随着数据仓库技术在国内应用的不断深入,许多开发商希望不向用户提供ETL工具的原来操作界面而是将其一些主要功能模块嵌入到自己的系统或其他厂商的系统中,因为在大多数情况下一般项目只会用到ETL工具的少数几个功能,同时也没有必要给用户提供那么复杂的操作环境这反倒使用户容易产生操作错误。这就要求ETL工具能提供很好的集成性和开放性。可以从以下几方面考虑:与OLAP集成;与前端工具集成;与建模工具集成;开放的API可将产品集成到统一界面;是否能调用各种外部应用,包括存储过程、各种流行语言开发的应用程序等;是否支持客户化定制的转换过程;是否支持与统计分析工具的集成等。对元数据的管理元数据是关于数据的数据,其对于ETL来说尤其重要。ETL中大量的数据源定义、映射规则、转换规则、装载策略等都属于元数据范畴,如何妥善的存储这些信息不仅关系到ETL过程能否顺利完成而且影响到后期的使用和维护。任何业务逻辑的微小改变最终都落实为相应元数据的调整,初期没有一个完善的元数据管理功能后期作类似调整几乎是“不可完成的任务”。基于元数据的重要性,国际组织提出一些统一的元数据存储标准比较知名的如CWM等,这为不同厂商工具之间互操作提供了可能性,相信也是以后的发展趋势。针对ETL的元数据管理应包括:元数据存储的开放性;元数据存储的可移植性;提供多种方式访问元数据;元数据的版本控制;支持开放的元数据标准;支持XML进行元数据交换;支持分布式的元数据访问和管理;生成元数据报表;对于ETL过程的冲突分析;基于元数据的查询功能;元数据的广播和重用;对于ETL过程的流程分析等。
2 Informatica Powercenter 介绍
2.1 Informatica Powercenter 的概念 Informatica PowerCenter 是Informatica公司开发的世界级的企业数据集成平台,也是业界领先的ETL工具。Informatica PowerCenter使用户能够方便地从异构的已有系统和数据源中抽取数据,用来建立、部署、管理企业的数据仓库,从而帮助企业做出快速、正确的决策。此产品为满足企业级要求而设计,可以提供企业部门的数据和电子商务数据源之间的集成,如XML,网站日志,关系型数据,主机和遗留系统等数据源。此平台性能可以满足企业分析最严格的要求。
2.2 Informatica公司简介 Informatica公司创立于1993年,总部位于Palo Alto, California of USA,作为电子商务分析型软件市场的领先者,一直致力于通过自身的产品和服务提升企业的竞争性优势。其拳头产品Informatica PowerCenter已被全球多家著名企业用来建设BI/DW系统,它可集成和分析企业的关键商务信息,优化整个商务价值链的表现和响应速度。Informatica公司于1999年四月首次公开上市发行(Nasdaq:INFA ,$16/每股),拥有包括Citigroup, Deutsche Bank, AT&T, British Telecom, Motorola, Cisco, HP, Boeing, National Semiconductor, Timer Warner, News Group在内的广泛的客户群。 Informatica公司作为业界领先的BI/DW系统方案提供商,拥有包括分析型应用软件、广泛的支持服务和强大的数据集成平台在内的综合性产品家族。其产品系列有:Informatica PowerCenter(企业级数据集成平台)、Informatica PowerCenterRT(实时数据集成平台)、Informatica PoweMart(部门级数据集成平台)、Informatica PowerChannel(远程数据集成平台)、Informatica Metadata Exchange(元数据交换平台)等。Informatica的基础设施产品以可伸缩的、可扩展的企业级数据集成平台为特点,并广泛支持来自Informatica和其他的领先商务智能提供商的数据仓库基础设施和分析型应用软件的开发和管理。
2.3 Informatica PowerCenter 的作用 Informatica PowerCenter 是建立可伸缩和可扩展的Informatica数据集成平台的核心和基础。与Informatica PowerConnect产品一起使用,Informatica PowerCenter 可以提供对广泛的应用和数据源的支持,包括对ERP系统的支持(Oracle, PeopleSoft, SAP),对CRM系统的支持(Siebel),对电子商务数据的支持(XML, MQ Series),遗留系统,及主机数据。Informatica PowerCenter 是最突出的分析性数据集成平台。 Informatica PowerCenter 是一个可以使大的企业或组织能够按其复杂的业务信息需求,读取、转换、集成遗留系统、关系型ERP,CRM,消息信息和电子商务数据的数据集成平台。
2.4 Informatica PowerCenter 的主要特点 数据整合引擎 Informatica PowerCenter拥有一个功能强大的数据整合引擎,所有的数据抽取转换、整合、装载的功能都是在内存中执行的,不需要开发者手工编写这些过程的代码。Informatica PowerCenter 数据整合引擎是元数据驱动的,通过知识库和引擎的配对管理,可以保证数据整合过程能够最优化执行,并且使数据仓库管理员比较容易对系统进行分析管理,从而适应日益增加的数据装载和用户群。积极的元数据管理 Informatica PowerCenter充分利用元数据来驱动数据整合过程。它提供了一个单一的元数据驱动的知识库,和数据整合引擎协同运作,并且可使关键的整合过程能被简单定义、修改、重用,从而提高了开发生产力并缩短了部署周期。活动元数据合并严格的文件,提供维护体系,允许冲突性分析,可以广泛跟其他企业应用程序以及系统整合。支持多数据源通过辅助产品Informatica PowerConnect, Informatica PowerCenter提供了对特殊数据源和格式的支持,包括SAP、Siebel、PeopleSoft、AS400等。对于e-business格式的数据,可以直接通过分析DTD或XML格式数据文件来实现。高性能的运行功能将设计和运行环境的性能特性分离,提供了较好的灵活性,不需要重新编码,吞吐量可以通过服务器、并行引擎管理、最优化CPU资源等方式,尽快处理任务。数据高效并行功能(Data smart parallelism)使用户具有自定义分区功能,提供了最优化的数据并行处理。Informatica PowerCenter提供了一个非编码的图形化设计工具方便用户的调试使用。分布式体系结构作为企业级核心数据整合引擎,Informatica PowerCenter 可以单独部署,也可以在分布式体系结构中部署。如果在分布式体系结构中部署,Informatica PowerCenter 要协调和管理多个基于主题的数据集市,而这些数据集市是在局域网或广域网内由Informatica PowerMart 或Informatica PowerCenter引擎执行的。 安全的数据整合 PowerCenter for Remote Data 是Informatica PowerCenter 一个分布式数据整合选项,提供了高性能、安全的、投资回报率高的方法,使用户可以跨广域网与合作伙伴、供应商以及其他远程数据源交换信息。