您的位置:首页 > 其它

Informatica-Powercenter VS IBM-DataStage 主流ETL工具选型

2012-12-17 19:48 239 查看
1.ETL介绍 ETL (Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程)作为BI/DW(Business Intelligence)的核心和灵魂,能够按照统一的规则集成并提高数据的价值,是负责完成数据从数据源向目标数据仓库转化的过程,是实施数据仓库的重要步骤。如果说数据仓库的模型设计是一座大厦的设计蓝图,数据是砖瓦的话,那么ETL就是建设大厦的过程。在整个项目中最难部分是用户需求分析和模型设计,而ETL规则设计和实施则是工作量最大的,约占整个项目的60%~80%,这是国内外从众多实践中得到的普遍共识。 ETL工具从厂商来分为两种,一种是数据库厂商自带的ETL工具,Oracle warehouse builder 就是这种,另外一种是第三方工具提供商.开源世界也有一大票的ETL工具,功能各异,强弱不一,你可以从一下地址找到开源ETL工具的列表 http://www.manageability.org/blog/stuff/open-source-etl/view , 提醒一句,选用工具的时候要慎重,真的,千万要慎重,不管你是选用商业的ETL工具(一般比较贵),还是开源的工具,都要在你充分了解产品的特性才去选择,千万不要听某某人说什么这个工具好,就购买了那个工具,一定要自己了解产品. 2.注意 开源的东西你可以免费得到和使用,但是当你想应用到企业级开发的时候,省钱可不是唯一应该考虑的因素.还是那句话,慎重呀慎重. 开源的ETL工具的列表 (排名是乱排的)
kettle http://kettle.pentaho.org/ ,pentaho官方的ETL工具,是一个metadata-driven 的ETL工具,不需要自己写code .
talend,
jasperETL,
Octopus ,
CloverETL ,
KETL ,
Joost,
Xineo,
BabelDoc,
CB2XML ,
mec-eagle,
Transmorpher ,
XPipe,
DataSift ,
Xephyrus Flume ,
Smallx ,
Nux ,
Netflux ,
OpenDigger ,
ServingXML ,
Scriptella ,
ETL Integrator ,
Jitterbit ,
Apatar ,
Spring Batch 3.BI市场份额 根据talend官方介绍的数据,ETL工具的市场份额在2006大约是有160多亿美元.由于BI项目的成功,ETL的这一市场份额还会扩大。 4.两款非开源ETL工具对比 一个最基本的区别: Informatic:把Metadata全部放在数据库中(可以是Oracle,DB2,SQL Server或者任何其它的数据库)、 Datastage:是自己管理Metadata,不依赖任何数据库.
对比项Informatica PowerCenterIBM Datastage
产品完整性对比? 数据整合部分:PowerCenter,是业界公认领导者 ? 数据质量管理:Data Quality,成熟稳定技术,在中国有大规模应用的成功案例。 ? 实时数据捕获:PowerExchange,业界领先实时采集技术,支持广泛数据源的CDC和Realtime,与PowerCenter无缝集成。 ? 元数据管理:Metadata Manager,是业界领先的企业级元数据管理平台,可做到字段级的元数据各项分析,有广泛的元数据采集接口,图形化无需编程,并可自动维护变更。? 数据整合部分:Datastage,属于业界一类产品 ? 数据质量管理:QualityStage,收购的技术,不是主要其主要产品组成 ? 实时数据捕获:MQ和DataMirror的技术,技术复杂,与DataStage是不同风格产品,产品的耦合度极差。 ? 元数据管理:MetaStage,几乎免费的产品,应用性极差,并不能管理企业级的元数据。而新推出的产品与旧有产品线耦合度差,并未经过市场的考验。
开发人员的使用效率? Informatica 是全图形化的开发模式,不需要编码,工具易使用,界面友好、直观。 ? 专业的三天培训,可使开发人员快速入门,进行开发设计。 ? 开发人员只要懂得数据库知识,即可。 ? Informatica 产品是以元数据为核心的,其开发过程中,所有的元数据,包括规则和过程,均是可复用,共享的。 ? 经过简单配置即可支持大数据量的处理。 ? Informatica是完全基于引擎级别的,所有功能模块化,扩展性强,维护成本低。? 虽然也是图形化的界面,但复杂的转换过程,里面嵌入了很多类Basic脚本的成份。 ? 要求开发人员,有编程语言基础。 ? 在处理大数据量,必须使用Datastage企业版。但如果客户原先使用的Datastage 标准版,其作业的版本移植问题很大。这两个版本的工作平台、机制完全不同。作业移植,大概要有70%左右需要重新开发定义。 ? Datastage是基于脚本级的,底层基于PICK BASIC和COBOL(Main Frame上)内核开发,要求不同的平台需要不同的系统环境变量配置。
应用需求的改变和拓展的支持? Informatica 是以元数据为核心的平台,现在完全支持SOA的思想,其最大特点就是完全支持松耦合.可拆分成Service 进行调用.这样需求变化,其需改动的部分,其影响会很小。 ? 开发转换过程,均为共享的、可复用的。 ? 元数据发生变化,可通过View Dependencies 功能,生成所有相关对象的报表,方便跟踪、校验,以应对需求的变化。 ? 应用需求变化,调整作业后,直接可以运行,不需要重新编译。 ? 作业移植等,也不需要重新编译。与平台和数据库无关。 ? 支持跨操作系统的集群技术,可方便的进行平台级的扩展。 ? 需求发生变化,需调整相应的作业。如果是复杂需求,改动已有的脚本,其维护成本相对比较高。 ? 每次作业变化调整,均需重新编译,才可执行。 ? Datastage企业版与Datastage 标准版,其作业的版本移植问题很大。这两个版本的工作平台、机制完全不同。作业移植,大概要有70%左右需要重新开发定义。一旦新的需求,需要企业版,其移植和再次开发,工作量要增加很多。 ? 也因为两个版本的不兼容和脚本编译的开发模式,使之产品面对变化和扩展上,均有一定的限制。
项目实施的支持? Informatica结合15多年的数据集成领域的经验,总结出一套针对Informatica产品实施数据仓库、数据管理等项目的最佳方法论Velocity 2008。该成熟的开发方法论,是指导客户实现快速、高质量项目实施的最佳武器。 ? 现在全国拥有众多的名高级技术专家与顾问,与国内如大唐,联创、神州数码、东软,中软等多家知名集成商成立战略合作伙伴,Informatica产品开发人员全国上千人规模。 ? Informatica支持服务中心是有非常熟练的技术支持工程师充当的,这些工程师具备你需要的、成功的专家知识。在中国有专门的售后服务工程师。 ? 无专业/成熟,基于产品的项目最佳开发方法论 ? 很难找到熟悉类Basic开发语言的Datastage开发工程师 ? IBM是以服务为主的公司,如果客户采用了其DataStage产品,将要支付大笔的IBM咨询服务费。
产品安装完全图形化安装,无需额外安装平台软件,且不需修改系统内核参数? 需耗用时间安装和准备C编译环境,不同平台软件安装的C编译器也不尽相同 ? 需修改系统内核参数,对其他应用影响较大,有潜在的危险。
产品升级? 平滑升级,完全图形化,不需修改已设计完作业。 ? 主要是升级资料库,工作量很小。? 需重新编译已有作业 ? 大版本之间以及跨平台的升级,很多作业需重新编写/编译代码,重复操作和维护工作量大。
产品移植? PowerCenter支持逻辑和物理设计分离的开发模式,有一个Mapping(逻辑的)和Session(物理的或者可运行)的概念,Mapping是逻辑上的ETL规则,而Session才是真正可以实例化运行的任务。 ? 可以跨平台、跨不同数据库进行作业的单个、整体移植。不需改变作业设计等,原有的任务可以直接在新环境下运行,并且只要更改Session的数据库联接串,则使用原有的Session任务访问不同的数据库类型数据,大大简化项目移植的工作。? 如果数据源,目标类型变化了,得修改以前所有的Job。 ? 必须在新平台上编译所有作业,此移植的工作量较大。
元数据开放性? 元数据资料库可基于所有主流系统平台的关系型数据库(Oracle、DB2、Sybase ASE,Microsoft SQL Server) ? 用户可通过Informatica提供的Metadata Exchange视图读取元数据,Informatica提供详细文档描述其元数据视图的结构和含义。 ? 可通过CMW标准跟其它BI工具共享元数据。 ? 提供Global元数据库,Local资料库可共享Gloal资料库的元数据。 ? 元数据对象可以快速导出/导入为XML文件,快速在多个项目中共享元数据 ? 通过PowerCenter的Administration Console,PowerCenter元数据库可快速的导出为Informatica能识别的二进制文件,该元数据内容可再快速移植到其他关系型数据库中。 ? DataStage的元数据DB是基于Universe7的,Universe不是一个开放型的数据库,(Universe目前最新版本是Universe10),IBM采用的元数据库技术上已明显落后。 虽然有计划要将之实现DB2的支持,但从本质上改动产品,不是短期内可以实现的。 ? 元数据库没有log备份恢复机制,如果知识库损坏后很难修复,易导致整个项目丢失。 ? 元数据库需要特定的Client才可以查看,所有DataStage在Universe中的元数据没有相关的描述, ? 难与其它元数据库交互共享元数据,跨不同环境的元数据共享,必须重新编译该对象。 ? 无Global元数据库
元数据管理? Metadata Manager可整合包括模型工具、数据集成、数据库、报表工具的各环节元数据的综合平台,支持各种主流UNIX平台和window平台。 ? 元数据管理可跨不同工具平台进行血缘分析,在表级和字段级均可自动匹配。生成血缘分析和影响分析报告。 ? Metadata Manager提供跨各种工具的元数据血统分析;提供自定义元数据接口。 ? Metadata Manager支持OMG的CWM标准,其XConnects的接口非常广泛,扩展性高。? MetaStage 是其元数据管理工具,仅能运行在 NT平台上. ? 可进行简单的元数据分析报告。且元数据分析只在表级,不能进行字段级元数据分析。 ? 不能跨工具进行元数据跟踪,无法完成整体连贯的血缘分析和影响分析。
操作便捷性? 全图化开发,无编码,操作性强 ? 被TDWI连续10年评为“数据仓库最佳实践”奖? 脚本式工具,需要学习类Basic语言 ? 需要写大量的类Basic脚本,不便于快速开发以及后期维护。 ? 增加了开发周期和投资成本
健壮的安全性? 多范围的用户角色和操作权限(只读、操作和设计等) ? 提供基于Folder的权限管理 ? 权限可以分到用户或组 ? 使用细致的锁(Lock)机制,提供了完善的安全,便于多用户的协作开发 ? 可基于LDAP认证模式? 只提供少量角色:Product Manager,Developer和 Operator ? 只提供基于数据库的权限 ? 没有基于Folder的权限管理,开发者只要有Developer的权限即可访问所有的Folder。 ? 元数据的安全性和完整性没有很好的保障措施
并行处理? 可并行多个Session提高性能 ? Session支持多线程和管道技术(pipeline) ? 支持Session分区功能,性能跟CPU数据可达到基于线性的增长。 ? 可将Session的分区任务分发到多个节点上(Session on Grid功能),性能可随着节点的增加而增长。 ? Informatica支持跨不同操作系统的GRID。? 不能很好的多个Job的并行 ? 并行组件(Torrent)需另付费购买,在Window平台上,无法使用Torrent的并行技术。 ? IBM DataStage企业版中才提供Torrent Orchestrate并行功能,由于在ETL设计时需要考虑很多Torrent Orchestrate的技术因素,并且没有具体的技术文档,开发难度较大。
单个任务的并行能力? 提供多种Session分区(Partition)功能 n Round-Robin n Hash Auto-Keys n Hash User Keys n Key Range n Pass-Through n Database Partitioning ? 可将单个Session分配给 Grid,PowerCenter会根据系统资源和用户配置,将单个Session任务拆分为多个子任务,以达到多并行任务的负载均衡。并且随着Grid中的可用资源(Node)的增加,该Session的性能理论上会得到不断的提高。? 必须使用Datastage企业版才可以实现单个任务并行功能 ? 若想实现并行,必须要在源和目标数据库上各安装一套Datastage企业版,增加了企业的投资成本。 ? 而且标准版与企业版兼容性极差,作业需要重新开发。
运行灵活性? 可在mapping环节点上,执行Pre sql 和post sql;可执行SQL 语句块 ? 在session的点上,执行pre-session cmd、Post-session success cmd、Post-session failure cmd、On success E-mail、On failure E-mail等命令 ? 对于非连接lookup,可实现动态调用 ? Mapping的源/目标可通过参数控制。? 无pre sql、post sql和session cmd 的功能 ? Lookup方法一:使用ODBC来做一行行的搜索,速度很慢 ? Lookup方法二:使用自定义的hash file来索引要Lookup的表,该文件存放在Universe数据库中。 ? Lookup操作的hash file需要维护和调优,其性能也不稳定,经常在没有提示的情况下崩溃。
读取文件列表(File List)功能? 可灵活读取多个同结构/非同目录的多个文本文件。 ? 可快速读取大数据量的File List? 无内置的读取文件列表(File List)的功能,开发和维护量较大。
大数据量操作的性能? 有多种任务并行以及Session分区的技术 ? 有官方TPC-H性能测试报告,PowerCenter 8.1在64位Linux平台上的性能达到了7.7MB/sec/CPU。 ? 大数据量处理性能稳定。 ? ETL性能可跟硬件资源(CPU为主,内存为辅)达到近线性增长! ? 无官方性能测试报告 ? 大数据量的汇总、排序、关联,Lookup效率差且不稳定,作业会莫名其妙的死掉。
跨广域网/防火墙的安全数据传输? PowerChannel可实现跨广域网和防火墙,实现加密/压缩的安全数据库传输。? 没有产品和方案实现该功能
对异常数据的处理? 提供Session级别的“Row Error Logging”功能,可自动捕获异常数据,能将所有出错的记录写到关系型数据库表中,包括如下主要信息: n 出错记录的Row ID n 出错时记录的当前值 n 出错记录的原始值 n 出错代码和信息 ? 无内置捕获错误记录的功能 ? 必须写大量的脚本,读取其log来得到错误记录信息。
任务的自动恢复(Recovery)? 自动Workflow Recovery功能(需要HA选项):短暂的异常(如网络故障)会暂时停止Workflow的运行,故障被修复后,Informatica可从Workflow的断点处继续执行任务。 ? 自动Session Recovery功能:Informatica能保存Session失败前的断点信息,可从断点处继续运行任务。? 没有断点恢复的能力
Mapping 开发模板? Informatica提供了PowerCenter Mapping Architect for Visio功能,能在VISIO中开发Mapping模板,快速产生多个Mapping,大大提高多个类似任务的开发和维护。在数据迁移,数据仓库的项目当中非常有用。 ? 提供了Mapping Wizards,内置了很多的Mapping开发模板,如数据仓库中经常用到的Slowly Changing Dimensions 3种类型的模板,从而可提高开发效率。? 无缓慢变化维向导,需自行开发,开发效率低。
ETL任务调度? 提供Workflow Schedule功能,可连续调度任务 ? 可基于时间/自定义事件/支持文件来触发任务 ? 可实现实时的数据抽取? 不支持连续运行(continuously)和频率执行调度,无法实现数据达到即时抽取的能力,频率执行需通过自编译内部代码或循环工作流人工逻辑实现,开发难度和维护难度较高。 这是DataStage设计开发中一个比较棘手的问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: