一、背景

在企业BI平台建设过程中,数据整合始终是一切的基础,简单BI项目可以通过存储过程来实现,而复杂、全面、多方异构数据来源等就大大增加了复杂性,存储过程的可管理性、可维护性、容错性等就无法很好的跟上企业的BI的发展脚步和需要。

因此,一个完善的、健壮的、可视化的、易于开发和管理的ETL解决方案,就非常重要,而这其中,ETL工具的地位不言而喻,更是重中之重。选择一个优秀的ETL工具,不仅可以加快异构数据整合的能力和效率,更能降低开发成本、人员手工维护等成本,好处多多。

现今的ETL工具很多,大企业的有IBM、Oracle的,中小企业的有SSIS、kettle、talend。有开源的,也有收费的,那我们改如何选择呢?

二、对比方面

本人做过ETL开发也有小几年,对于一部分的ETL工具也有很多的接触,也看过其它企业的大型ETL解决方案,今天,就从如下几个我所经历过以及结合一些客户的选择方向来对比下不同ETL工具之间的差异,给予一部分即将选择ETL工具的朋友一些辅助建议吧。

对比的ETL工具,选择这4款主要是我自己接触过,或是有客户采购过,相对比较了解。

  1. talend
  2. kettle
  3. SSIS
  4. informatica

对比的方面主要有如下几方面,每个方面总分都是10分

2.1、成本:软件成本+开发成本+维护成本。

这个是我所知道90%企业都第一考虑的,大家都知道,有多少钱办多少事儿。

  • talend:8分
    1. 软件成本:talend有开源版本,免费,但是实际我用下来,以及一部分客户的实际情况,还是建议买个企业版。因为开源版没有配备完善的自动化调度系统,这个如果开发好之后要定期运行起来,还需要借助其它的调度工具或者自己开发一套调度,估计这个开发也够呛。
    2. 开发成本:如果开源版,前期可能会省很多培训、咨询、售前等费用,但是后期的维护团队、自定义开发的调度平台估计也不会比买企业版花的少。
    3. 维护成本:talend是按照用户数收费的,所以如果开发用户很多的情况下,估计就不划算。
  • kettle:7分
    1. 软件成本、开发成本:和talend一样的,也是分开源和不开源,开源的依然是要自行调度管理。
    2. 维护成本:kettle国内的专业公司好像有点少,一般用的都是做做简单ETL,或者封装一套自己的,所以前期自我探索的成本也比较高。
  • SSIS:8分
    1. 软件成本:这是微软的,因为你只要采购了SQL SERVER,这个工具就是免费给你用的,微软家的产品都是简单、快速入门的,所以使用起来的难度不大。
    2. 开发成本:微软的MSDN是很强大的在线文档,看这个已经足够入门了,咨询几乎不用。
    3. 维护成本:微软系的出了名的好用、上手快。如果你已经采购了SQL SERVER而且还是windows体系的,那我是推荐这个的。
  • informatica:5分
    1. 软件成本:企业级的产品,世界知名,当然软件采购成本也很贵,比上面的贵好多倍。
    2. 开发成本:拥有良好的GUI界面,开发也是脱拉拽,相对还是比较块的。
    3. 维护成本:老牌厂商,软件稳定。

2.2、易用性

易用性可以降低使用人员专业技术水平,降低人员成本。

  • talend:9分
    1. 给予eclipse的GUI界面操作,而且结合了SVN/GIT的版本管理,开发快速、代码管理及时。但是GUI有时候不太稳定。
    2. 拖拉拽的设计风格。
    3. 开发的job直接可以build成jar包,然后部署,或者直接可以在tac后台服务进行部署(企业版才有)。
  • kettle:7分
    1. GUI的界面操作,可以和自己的知识库整合,将开发内容保存到后台元数据库中。
    2. 拖拉拽的设计风格。
  • SSIS:9分
    1. VS的GUI界面操作。
    2. 拖拉拽的设计风格。
    3. 给予GUI的job运行管理、调度平台。
  • informatica:8分
    1. GUI的界面操作。
    2. 拖拉拽的设计风格。

2.3、架构

架构的优劣,也决定的这个产品是否能有足够的能力支撑任何需求变更的挑战。

  • talend:9分
    1. 基于Java体系的,每个ETL job设计完成之后,最终都是编译成了一整个的jar包。
    2. 只要你有JVM环境你就可以运行talend job。
    3. 接收自定义的java代码,可以使得一部分组件无法完成的功能,通过代码来实现。
  • kettle:8分
    1. 基于Java体系的。
    2. 可以使用 job 作业方式或操作系统调度,来执行一个转换文件或作业文件。
    3. 可以通过集群的方式在多台机器上部署
  • SSIS:7分
    1. 基于XML的文件保存格式,基于Windows体系。
    2. 需要.NET FRAMEWORK的支持。
    3. 可以自定义开发.NET程序处理。
  • informatica:8分
    1. 基于他本身的server调度运行。

2.4、 数据源丰富性

ETL主要就是负责数据整合,数据源的丰富性越好,适应能力就越强。

  • talend:9分
    1. 支持各种数据库数据源、web services、文件、云产品等,非常丰富。
    2. 云计算、大数据的支持也是非常迅速的。
  • kettle:9分
    1. 支持各种数据库数据源、web services、文件、云产品等,非常丰富。
    2. 也可以通过自己开发插件来拓展。
    3. 有很多的第三方插件支持。
  • SSIS:7分
    1. 支持各种数据库数据源、web services、文件等
    2. 云产品的支持当前只是支持他自家的微软云。
    3. 有很多的第三方插件支持。
  • informatica:6
    1. 支持各种数据库数据源
    2. 分为不同的版本,标准版,实时版,高级版,云计算版。同时,它还提供了多个可选的组件

2.5、 ETL组件丰富性

ETL组件的完善,可以减少硬编码,提升开发效率和交付质量。

  • talend:9分
    1. talend组件非常多,他将很多的功能都拆分成了不同的组件,大概是3000多个,这样子的组件细化,可以给出不同的组合,满足很多不同的任务需要。
    2. 尤其是对大数据、云计算组件的支持更是业内比较快、领先的。
  • kettle:8分
    1. 组件也是十分丰富。
    2. 自己可以拓展开发第三方组件。
    3. 对于云计算的支持也是比较好的。
  • SSIS:7分
    1. 组件相对比较丰富,而且结合了数据库维护的一些功能,使得不仅仅局限于ETL这单块的内容。
    2. 可以自定义开发组件。
    3. 对于云计算、大数据等支持不是很快。
  • informatica:6分
    1. 组件相对也比较丰富。
    2. 对于云计算也有支持,但是在不同的产品模块,无形中增加了软件成本。

2.6、 性能

性能是决定着数据刷新的频率,对于很多实时性要求较高的业务,这是重点。

  • talend:6分
    1. talend因为要先编译、后运行,因此第一次的运行来看,性能相对比较慢。
    2. talend是基于jvm的,所以很多方面需要调优。
  • kettle:7分
    1. kettle本身会有一定的优化在其中,所以整体运行效率会比talend快一些。
    2. 很多参数也是需要实际情况调优的。
  • SSIS:8分
    1. 如果针对于其本身的MS系产品,效率是杠杠的,微软的测试1TB只需要2小时。
    2. 但是针对其它家的数据库,也是需要优化的,但是综合来看,还是比较块的。
  • informatica:8分
    1. 针对于本身的数据源,其内部就做了很多的调优,因此就会快很多。

2.7、 部署

部署主要是考虑是否能支持横向拓展,以便更快应对数据量的增长。

  • talend:8分
    1. 开发支持多人合作开发,通过SVN/GIT进行协作。
    2. 可以通过部署多个集群job server来负载均衡的运行job。
  • kettle:8分
    1. 支持集群式的部署方式。
  • SSIS:5分
    1. 暂时没有集群式的部署方式。
    2. 但是可以通过job之间的协调调度来实现,技术成本比较高。
  • informatica:6分
    1. 需要部署运行在其server上。

2.8、 监控

完善的监控体系,可以即使的发现ETL内部问题,提升运行稳定性,减少数据整合的错误。

  • talend:8分
    1. 拥有良好的后台运行监控和log日志记录。
  • kettle:8分
    1. 拥有良好的后台运行监控和log日志记录。
  • SSIS:9分
    1. 拥有良好的后台运行监控和log日志记录。
    2. 可以收集不同的运行KPI,分析运行的效率问题。
  • informatica:8分
    1. 拥有良好的后台运行监控和log日志记录。

2.9、 数据质量管理

ETL中包含数据质量管理应该是未来的趋势,而不是简单将数据从A搬到B。

  • talend:8分
    1. 有数据质量管理的支持。
    2. 也可以通过自己代码实现。
  • kettle:8分
    1. 有数据质量管理的支持。
    2. 也可以通过自己代码实现。
  • SSIS:9分
    1. 有自己的数据质量检测组件。
    2. 也可以通过数据质量服务这个软件来实现(免费)但是整合起来的技术难度还是有一些。
  • informatica:7分
    1. 专门有一个产品 Informatica Data Quality 来保证数据质量
    2. 但是这个软件成本有点高。

2.10、 技术支持and社区

主要考虑到未来的疑难问题解决。

  • talend:7分
    1. 在国内的社区和技术支持相对比较薄弱。
    2. 但是好在技术支持比较稳定,可以申请原厂的case,有人回复。(不买产品咨询,应该要收费的)
  • kettle:8分
    1. 国内的社区还不错,很多开源的小企业的人都是在使用的,也有很多的社群活跃。
  • SSIS:9分
    1. 微软的支持无处不在。
    2. MSDN、官方博客都几乎可以找到人,比较方便。
    3. 而且使用人员也很多。
  • informatica:8分
    1. 专业的人员倒是挺多,但是咨询应该不是免费的。

三、总结

最总我们来看得分

产品/考虑方面

成本:软件成本+开发成本+维护成本(10分)

易用性(10分)

架构(10分)

数据源丰富性(10分)

ETL组件丰富性(10分)

性能(10分)

部署(10分)

监控(10分)

数据质量管理(10分)

技术支持&社区(10分)

总分

建议

talend

8

9

9

9

9

6

8

8

8

7

83

1、如果你是java体系的爱好者。你希望跨平台。

2、如果你未来希望能更好接入大数据、云计算。

3、你更喜欢灵活控制每一个ETL组件。

4、对于job调度的要求不是很高。

kettle

7

7

8

9

8

7

8

8

8

8

78

1、如果你是java体系的爱好者。你希望跨平台。

2、如果你未来希望能更好接入大数据、云计算。

3、你们未来是自己打算开发一套调度系统的。

SSIS

8

9

7

7

7

8

5

9

9

9

78

1、你是微软系的服务器、产品为主。

2、你渴望入门快、成果见效快。

3、你希望易于维护、开发快捷,管理简单。

informatica

5

8

8

6

6

8

6

8

7

8

70

1、你有钱。

2、你有丰富的技术人才。

3、你有大量的维护团队。

如果您觉得此文章对您有帮助,请点击右下方【推荐】让更多人看到,thanks!

【原创】BI解决方案选型之ETL数据整合工具对比的更多相关文章

  1. etl数据同步工具 kettle

    kellet使用 https://www.cnblogs.com/gala1021/p/7814712.html

  2. Kettle学习系列之数据仓库、数据整合、ETL、ELT和EII之间的区别?

    不多说,直接上干货! 在数据仓库领域里,的一个重要概念就是数据整合(data intergration).数据整合它就是把不同数据库中的数据整合到一起,对外提供统一的数据视图. 数据整合最典型的案例就 ...

  3. 用IBM WebSphere DataStage进行数据整合: 第 1 部分

    转自:http://www.ibm.com/developerworks/cn/data/library/techarticles/dm-0602zhoudp/ 引言 传统的数据整合方式需要大量的手工 ...

  4. 用IBM WebSphere DataStage进行数据整合: 第 1 部分 分类: H2_ORACLE 2013-08-23 11:20 688人阅读 评论(0) 收藏

    转自:http://www.ibm.com/developerworks/cn/data/library/techarticles/dm-0602zhoudp/ 引言 传统的数据整合方式需要大量的手工 ...

  5. 企业必读:BI数据可视化工具选型

    伴随着大数据时代的到来,企业对数据的需求从"IT主导的报表模式"转向"业务主导的自助分析模式",可视化BI工具也随之应运而生.面对如此众多的可视化BI工具,我们 ...

  6. BI解决方案分享:地产BI数据分析系统的建设

    近几年中国地产行业发展迅猛,行业整合已成大势所趋,逐步由区域开发转变为集团化的跨地区综合开发商.然而,对于处在超常规速度发展的房地产企业来说,其面临的挑战也是超常规的.企业要在有限的资金和人力条件下, ...

  7. BI系统与KPI指标的整合分析

    今天我们要说的是信息化时代下关于企业运营的两个热词:BI系统和KPI指标.一直到现在,企业运营的方方面面都在被数据化,成为庞大信息流的一部分,这一庞大的信息流,正以我们自己都尚未完全意识到的速度和规模 ...

  8. Kettle解决方案: 第一章ETL入门

    第一章ETL入门 1.1 OLPT和数据仓库对比 普通的事务系统和商业智能系统(BI)有什么区别? 1个独立的普通事务系统也被称为在线事务处理系统(OLTP) 商业智能系统也常被称为决策支持系统(DS ...

  9. 企业bi解决方案,商业智能BI作用

    ​随着越来越多的公司将商业智能BI引入到日常运营和商业决策中,BI的热点逐渐起来了.商业智能系统兴起,那BI对企业有什么好处呢? 简单的说,就是可以帮助企业管理者直观清晰的看到自己想要关注的数据,帮助 ...

随机推荐

  1. Java重写与重载

    重写的规则: 参数列表必须完全与被重写方法的相同: 返回类型必须完全与被重写方法的返回类型相同: 访问权限不能比父类中被重写的方法的访问权限更低.例如:如果父类的一个方法被声明为public,那么在子 ...

  2. 随笔 —— 门徒 & 无限恐怖

    门徒 忧思缠身,所为何物 不知何人,可免世俗 每每朝暮,心无释处 悲从中来,如泣如诉 仁者存世,满怀悲苦 逝者如斯,追还无路 上天无门,开怀捧腹 无路偏行,我行我素 无限恐怖 饥寒苦难谁知故,日日行路 ...

  3. 为什么要内存对齐 Data alignment: Straighten up and fly right

    转载于http://blog.csdn.net/lgouc/article/details/8235471 为了速度和正确性,请对齐你的数据. 概述:对于所有直接操作内存的程序员来说,数据对齐都是很重 ...

  4. ironic如何支持部署时按需RAID?

    新浪大神推荐使用element proliant-tools制作deploy image.element proliant-tools会在ipa ramdisk中安装一个rpm包hpssacli(HP ...

  5. scrapy图片-爬取哈利波特壁纸

    话不多说,直接开始,直接放上整个程序过程 1.创建工程和生成spiders就不用说了,会用scrapy的都知道. 2.items.py class HarryItem(scrapy.Item): # ...

  6. Edu 0空投合约源码

    https://etherscan.io/address/0xa0872ee815b8dd0f6937386fd77134720d953581#code pragma solidity ^0.4.18 ...

  7. Problem 1036 四塔问题

    Accept: 590    Submit: 1506Time Limit: 1000 mSec    Memory Limit : 32768 KB  Problem Description “汉诺 ...

  8. 【bzoj2212】[Poi2011]Tree Rotations 权值线段树合并

    原文地址:http://www.cnblogs.com/GXZlegend/p/6826614.html 题目描述 Byteasar the gardener is growing a rare tr ...

  9. hdu 1211 RSA (逆元)

    RSA Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submiss ...

  10. hdu 1564 Play a game (博弈)

    Play a game Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...