天天看点

如何评价ETL工具

原文地址:http://viewtoo.sharera.com/blog/BlogTopic/25158.htm

 正确选择ETL工具,可以从ETL对平台的支持、对数据源的支持、数据转换功能、管理和调度功能、集成和开放性、对元数据管理等功能出发,具体如下。

  支持平台

  随着各种应用系统数据量的飞速增长和对业务可靠性等要求的不断提高,人们对数据抽取工具的要求往往是将几十、上百个GB的数据在有限的几个小时内完成抽取转换和装载工作,这种挑战势必要求抽取工具对高性能的硬件和主机提供更多支持。

  因此,我们可以从数据抽取工具支持的平台,来判断它能否胜任企业的环境,目前主流的平台包括SUN Solaris、HP-UX、IBM AIX、AS/400、OS/390、Sco UNIX、Linux、Windows等。

  支持数据源

  对数据源支持的重要性不言而喻,因此这个指标必须仔细地考量。首先,我们需要对项目中可能会遇到的各种数据源有一个清晰的认识;其次对各种工具提供的数据源接口类型也要有深入了解,比如,针对同一种数据库,使用通用的接口(如ODBC/JDBC)还是原厂商自己的专用接口,数据抽取效率都会有很大差别,这直接影响到我们能不能在有限的时间内完成ETL任务。

  这里,笔 者列出一些常见的数据源供参考:DB2、Informix、Oracle、Sybase、SQL Server、Teredata、OleDB、SAS、Text、Excel、SAP、Peoplesoft、IMS、VSAM、QSAM on 390、FTP、XML、MessageQueue、Weblog等。

  数据转换功能

  数据转换是ETL中最令人头疼的问题,由于业务系统的开发一般有一个较长的时间跨度,这就造成一种数据在业务系统中可能会有多种完全不同的存储格式,甚至还有许多数据仓库分析中所要求的数据在业务系统中并不直接存在,而是需要根据某些公式对各部分数据进行计算才能得到。因此,这就要求ETL工具必须对所抽取的数据进行灵活的计算、合并、拆分等转换操作。

  通常情况下,我们遇到的ETL转换要求包括:字段映射;映射的自动匹配;字段的拆分;多字段的混合运算;跨异构数据库的关联;自定义函数;多数据类型支持;复杂条件过滤;支持脏读;数据的批量装载;时间类型的转换;对各种码表的支持;环境变量是否可以动态修改;去重复记录;抽取断点;记录间合并或计算;记录拆分;抽取的字段是否可以动态修改;行、列变换;排序;统计;度量衡等常用的转换函数;代理主键的生成;调试功能;抽取远程数据;增量抽取的处理方式;制造样品数据;在转换过程中是否支持数据比较的功能;数据预览;性能监控;数据清洗及标准化;按行、按列的分组聚合等。

  管理和调度功能

  由于我们对数据抽取的要求越来越高以及专业ETL工具的不断涌现,ETL过程早已不再是一个简单的小程序就可完成的,目前主流的工具都采用像多线程、分布式、负载均衡、集中管理等高性能高可靠性与易管理和扩展的多层体系架构。因此,这就要求ETL在管理和调度功能上都具备相应的功能。

  管理和调度的基本功能包括:抽取过程的备份与恢复;升级;版本管理;开发和发布;支持统一以及自定义的管理平台;支持时间触发方式;支持事件触发方式;支持命令行执行方式;支持用户对计算机资源的管理和分配;负载均衡;文档的自动生成;调度过程中能否执行其他任务等。

  集成和开放性

  随着数据仓库技术在国内应用的不断深入,许多开发商希望不向用户提供ETL工具的原来操作界面,而是将其一些主要功能模块嵌入到自己的系统或其他厂商的系统中,因为在大多数情况下一般项目只会用到ETL工具的少数几个功能,同时也没有必要给用户提供那么复杂的操作环境,其结果反而使用户容易产生操作错误。

  上述问题就要求ETL工具能提供很好的集成性和开放性,可以从几方面考量:与OLAP集成;与前端工具集成;与建模工具集成;开放的API可将产品集成到统一界面;是否能调用各种外部应用,包括存储过程、各种流行语言开发的应用程序等;是否支持客户化定制的转换过程;是否支持与统计分析工具的集成等。

  管理元数据

  元数据是关于数据的数据,尤其对于ETL来说尤其重要。ETL中大量的数据源定义、映射规则、转换规则、装载策略等都属于元数据范畴,如何妥善地存储这些信息已经关系到ETL过程能否顺利完成而且影响到后期的使用和维护。任何业务逻辑的微小改变最终都落实为相应元数据的调整,初期没有一个完善的元数据管理功能而后期作类似调整几乎是“不可完成的任务”。基于元数据的重要性,国际组织提出一些统一的元数据存储标准,比较知名的如CWM等,为不同厂商工具之间互操作提供了可能性,相信也是今后的发展趋势。

  针对ETL的元数据管理,笔者认为应包括:元数据存储的开放性;元数据存储的可移植性;提供多种方式访问元数据;元数据的版本控制;支持开放的元数据标准;支持XML进行元数据交换;支持分布式的元数据访问和管理;生成元数据报表;对于ETL过程的冲突分析;基于元数据的查询功能;元数据的广播和重用;对于ETL过程的流程分析等。

  主流的ETL工具

  目前市场上主流的ETL工具可以分为两大类:一类是专业ETL厂商的产品,这类产品一般都具备较完善的体系结构和久经考验的产品,产品的功能之复杂和详尽,往往能令初次接触的人膛目,但其高昂的价格也会使一般用户望而却步;另一类是整体数据仓库方案供应商,他们在提供数据仓库存储、设计、展现工具的同时也提供相应的ETL工具,这类产品一般对自己厂商的相关产品有很好的支持并能发挥出其最大效率,但结构相对封闭,对其他厂商产品的支持也很有限。

  专业ETL厂商和产品包括Ascential公司的DataStageXE、Sagent公司的Solution和Informatica公司的产品,整体方案提供商和产品则包括Oracle公司的Warehouse Builder和IBM公司的Warehouse Manager。

几大数据库公司的数据仓库解决方案

1)Sybase的数据仓库解决方案Sybase的数据仓库解决方案uick Start DataMart,包括Sybase IQ、Caleton PASSPOR、Brio Query、Cognos Powerplay等一系列软件,支持DB2、MS、VSAM、Sybase、Oracle、Informix等关系型数据库,还有文本格式的数据。它能够同时处理几十个即席查询,其BitWise技术和垂直数据存储技术使系统只访问特定的少量数据,使得查询速度比传统的关系型数据库管理系统快100倍。

2)Platinum technology公司解决方案Platinum technology公司的数据仓库解决方案为企业提供完整、一致的数据,以保持商业决策的及时、正确性。Platinum technology的数据仓库解决方案包括数据抽取和提炼、数据分布、元数据管理、数据存取和分析(OLAP、EIS、报表)、保险、销售和营销决策支持等几个方面。它提供的数据仓库工具包括异构数据库之间数据双向复制的应用系统开发工具Info Pump和功能强大灵活的关系型OLAP工具Info Beacon等;提供的数据仓库前端业务智能解决方案工具包括使用户能够快速建立和使用的图形化企业信息系统应用的基于Windows的查询和报表工具Forest&Trees,可以利用多个大型数据库在桌面机或服务器上生成报表的企业级报表的工具Info Reports,使用户在服务器上生成在用户端制作的企业报表的工具Info Reports Server。这些工具使用户不需编程即可查询关系数据库、数据仓库或数据文件的数据。

3)HP公司解决方案HP公司是在HP9000高端解决方案之上提出的各应用数据仓库解决方案。惠普公司的开放式数据仓库是基于简洁(Simplicity)标准(Standards)技巧(Skills)三点原则而设计的。它向用户提供从关系型数据库到基于Internet的报告/查询工具以及数据采集等多种多样的数据仓库工具。HP所提供的咨询与项目服务涵盖了从数据处理设计,到网络架构、硬件设计、备份、灾难恢复、客户访问、培训、帮助、管理等各个方面。此外,它的数据仓库计划包含了HP智能数据仓库(Intelligent Warehouse),简化了数据仓库的管理,提高了异构数据仓库的性能,并能运行于多种平台。

4)IBM解决方案IBM的商业智能解决方案融汇了众多合作伙伴和第三方开发商的产品,例如,在查询工具中有Cognos的Impromptu、Business Objects的Business Objects、Lotus的Approach和IBM的Query Management Facility,多维分析OLAP工具有Arbor software的Essbase、IBM的DB2OLAP服务器(与Arbor联合开发),统计分析工具有SAS公司的SAS系统,数据挖掘工具有IBM的智能挖掘机(Intelligent Miner)。许多这种应用软件和工具都具有内置的Web浏览器支持和Lotus Notes,使用户能够在熟悉的桌面环境内获得所需的信息。

5)Informix公司解决方案Informix公司日前发布了一个集成的、可伸缩的Fast Start数据仓库解决方案,以使用户能快速而便捷地设计开发具有可伸缩性的数据仓库或数据集市。Fast Start数据仓库解决方案内含实现数据仓库所需的所有基本部件,其中包括基于Informix的动态可伸缩架构(DSA)、Informix在线动态服务器(IODS)、Informix在线工作组服务器(IOWS),同时集成了具有关系型联机分析处理(ROLAP)技术的Informix-MetaCube3.0软件。此外,通过可靠地集成Netscape 的FastTrack服务器和Netscape企业服务器,该方案还可实现强大的Web驱动技术。同时,该方案还提供来自Informix专业服务部门的优先咨询服务、培训和技术支持。

6)Oracle数据仓库解决方案Oracle数据仓库解决方案在定义、建立和使用数据仓库的过程中存在以下三部曲:a)对最终用户的商业需求建立模型。数据仓库的设计者必须从各种最终用户中了解信息需求,然后将这些信息需求转变为数据模型。设计得必须以严密、精确的方法确保模型的完整性.b)为元数据建立模型。在为最终用户需求建立模型的同时,数据仓库设计者还必须为元数据(关于数据的数据)建立模型。该信息确定了进入数据仓库的数据范围,以及与数据有关的规定。由于数据仓库是s面向主题的,元数据的建模可能跨越数个功能性商业区域.c)最后应该选择满足用户需要的工具,用户将使用这些工具访问数据仓库中存储信息。关于数据仓库,详细参见“Oracle数据仓库白皮书”。