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、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 , IBM Datastage

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值