五种主流ETL工具对比
1 、简介
DataPipeline :隶属于北京数见 科技 有限公司,是一家企业级批流一体数据融合服务商和解决方案提供商,国内实时数据管道技术的倡导者。
通过平台和技术为企业客户解决数据准备过程中的各种痛点,帮助客户更敏捷、更高效、更简单地实现复杂异构数据源到目的地的实时数据融合和数据管理等综合服务。
从而打破传统 ETL 给客户灵活数据应用带来的束缚,让数据准备过程不再成为数据消费的瓶颈。
Kettle:是一款国外开源的ETL工具,纯java编写,可以在Windows、Linux、Unix上运行,数据抽取高效稳定。Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。
Informatica:是全球领先的数据管理软件提供商。
在如下Gartner魔力象限位于领导者地位:数据集成工具魔力象限、数据质量工具魔力象限、元数据管理解决方案魔力象限、主数据管理解决方案魔力象限、企业级集成平台即服务(EiPaaS)魔力象限。
Talend :是数据集成解决方案领域的领袖企业,为公共云和私有云以及本地环境提供一体化的数据集成平台。Talend的使命是致力于帮助客户优化数据,提高数据可靠性,把企业数据更快地转化为商业价值。
以此为使命,Talend的解决方案将数据从传统基础架构中解放出来,提高客户在业务中的洞察力,让客户更早实现业务价值。
DataX :是阿里巴巴集团内被广泛使用的离线数据同步工具 / 平台,实现包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS 等各种异构数据源之间高效的数据同步功能。开源地址:https://github.com/alibaba/DataX
2 、成本
软件成本包括多方面,主要包括软件产品, 售前培训, 售后咨询, 技术支持等。
开源产品本身是免费的,成本主要是培训和 咨询,所以成本会一直维持在一个较低水平。
商业产品本身价格很高,但是一般会提供几次免费的咨询或支持,所以采用商用软件最初成本很高,但是逐渐下降。
手工编码最初成本不高,主要是人力成本,但后期维护的工作量会越来越大。
3、适用场景
DataPipeline: 主要用于各类数据融合、数据交换场景,专为超大数据量、高度复杂的数据链路设计的灵活、可扩展的数据交换平台;
Kettle: 面向数据仓库建模传统ETL工具;
Informatica: 面向数据仓库建模传统ETL工具;
Talend:面向数据仓库建模传统ETL工具;
DataX :面向数据仓库建模传统ETL工具
4、使用方式
DataPipeline: 全流程图形化界面,应用端采用B/S架构,Cloud Native为云而生,所有操作在浏览器内就可以完成,不需要额外的开发和生产发布;
Kettle: C/S客户端模式,开发和生产环境需要独立部署,任务的编写、调试、修改都在本地,需要发布到生产环境,线上生产环境没有界面,需要通过日志来调试、 debug,效率低,费时费力;
Informatica: C/S客户端模式,开发和生产环境需要独立部署,任务的编写、调试、修改都在本地,需要发布到生产环境;学习成本较高,一般需要受过专业培训的工程师才能使用;
Talend:C/S客户端模式,开发和生产环境需要独立部署,任务的编写、调试、修改都在本地,需要发布到生产环境;
DataX :DataX是以脚本的方式执行任务的,需要完全吃透源码才可以调用,学习成本高,没有图形开发化界面和监控界面,运维成本相对高
5、底层架构
DataPipeline: 分布式集群高可用架构,可以水平扩展到多节点支持超大数据量,架构容错性高,可以自动调节任务在节点之间分配,适用于大数据场景;
Kettle:主从结构非高可用,扩展性差,架构容错性低,不适用大数据场景;
Informatica: schema mapping非自动;可复制性比较差;更新换代不是很强,支持分布式部署;
Talend:支持分布式部署;
DataX :支持单机部署和集群部署两种方式
6、CDC机制
DataPipeline: 基于日志、基于时间戳和自增序列等多种方式可选;
Kettle:基于时间戳、触发器等;
Informatica: 基于日志、基于时间戳和自增序列等多种方式可选;
Talend:基于触发器、基于时间戳和自增序列等多种方式可选;
DataX :离线批处理
7、对数据库的影响
DataPipeline: 基于日志的采集方式对数据库无侵入性;
Kettle:对数据库表结构有要求,存在一定侵入性;
Informatica: 基于日志的采集方式对数据库无侵入性;
Talend:有侵入性;
DataX :通过sql select 采集数据,对数据源没有侵入性
8、自动断点续传
DataPipeline:支持;
Kettle:不支持;
Informatica:不支持;
Talend:不支持;
DataX :不支持
9、监控预警
DataPipeline:可视化的过程监控,提供多样化的图表,辅助运维,故障问题可实时预警;
Kettle:依赖日志定位故障问题,往往只能是后处理的方式,缺少过程预警;
Informatica:monitor可以看到报错信息,信息相对笼统,定位问题仍需依赖分析日志;
Talend:有问题预警,定位问题仍需依赖日志;
DataX :依赖工具日志定位故障问题,没有图形化运维界面和预警机制,需要自定义开发
10、数据清洗
DataPipeline:围绕数据质量做轻量清洗;
Kettle:围绕数据仓库的数据需求进行建模计算,清洗功能相对复杂,需要手动编程;
Informatica:支持复杂逻辑的清洗和转化;
Talend:支持复杂逻辑的清洗和转化;
DataX :需要根据自身清晰规则编写清洗脚本,进行调用(DataX3.0 提供的功能)
11、数据转换
DataPipeline:自动化的schema mapping;
Kettle:手动配置schema mapping;
Informatica:手动配置schema mapping;
Talend:手动配置schema mapping;
DataX :通过编写json脚本进行schema mapping映射
12、易用性、应用难度、是否需要开发
DataPipeline: 有非常容易使用的 GUI,具有丰富的可视化监控,易用性低,难度低,不需要开发;
Kettle: GUI+Coding,易用性低,难度高,需要开发;
Informatica: GUI+Coding,有GUI,但是要专门的训练,易用性低,难度高,需要开发;
Talend:GUI+Coding,有 GUI 图形界面但是以 Eclipse 的插件方式提供,易用性低,难度中,需要开发;
DataX:需要完全吃透源码才可以调用,学习成本高,没有图形开发化界面和监控界面,易用性低,难度高,需要开发
13、技能要求
DataPipeline:操作简单,无技术要求;
Kettle: ETL设计, SQL, 数据建模 ;
Informatica: ETL设计, SQL, 数据建模;
Talend:需要写Java;
DataX:需要写json脚本
14、数据实时性
DataPipeline:支持异构数据源的实时同步,速度非常快;
Kettle:不支持实时数据同步;
Informatica:支持实时,效率较低;
Talend:支持实时处理,需要购买高级版本,价格贵;
DataX :支持实时
15、技术支持
DataPipeline:本地化原厂技术支持;
Kettle:开源软件,需客户自行实施、维护;
Informatica:在美国,主要为第三方的实施和售后服务;
Talend:在美国,分为开源版和企业版,企业版可提供相应服务;
DataX:阿里开源代码,需要客户自动实施、开发、维护
文章为自己学习整理后的成果,如有错误的地方,欢迎提出已作出及时修正。
2024-09-19 广告