选用开源ETL工具应注意的问题

2018年11月26日
  • 博客
Synball
(c) CC0 Public Domain / unsplash.com

      Kettle是一个Java编写的ETL工具,从4.2版本开始遵守Apache Licence 2.0协议,最新稳定版为7.1。Kettle在2006年初加入了开源的BI公司Pentaho, 正式命名为:Pentaho Data Integeration,简称“PDI”。自2017年9月20日起,Pentaho已经被合并于日本日立集团下的新公司: Hitachi Vantara。企业版Kettle不是免费独立的,而是集成在Pentaho Business Analytics商业套件中。

      因为ETL属于偏底层的数据基础性工作,国内的项目甲方用户往往并不太清楚这方面的具体需求和技术指标要求,因而也不太关注项目开发服务商使用了什么底层产品,对于这类数据产品在功能性、易用性、交换性能、数据实时性(最小延迟)、可靠稳定性、可运维管理性等方面缺乏具体的指标要求,通常不会要求通过严格的POC测试选型,再加上Kettle基础版是开源免费的,因此许多集成商/开发商在项目中为了想节省成本而盲目使用,结果往往是适得其反,造成了前期投入了相当大的开发人力成本及后期高昂的运维成本而达不到预期效果,骑虎难下。根据笔者二十多年的项目实施经验及大数据领域所面临的新要求,总结了选用kettle应注意的问题:

  • Kettle不支持实时数据同步场景。尽管kettle可以使用trigger方式获取表级的增量数据,但源端的应用系统方一般不会同意使用这种侵入性很强的方式,而且trigger方式无法保证事务复制的完整性和时间次序性。
  • Kettle交换性能往往达不到要求。由于kettle采用了二十多年前老旧的Java调用技术,在任务数多、数据量大的场景下,往往消枆过大的计算资源,交换性能急剧下降,造成系统阻塞的状况出现。
  • Kettle对断点信息没有记录和保存,无法保证断点续传及数据不丢失等可靠性要求。
  • Kettle的ETL 处理流程与目标输出耦合性强,新的数据要求往往会造成处理流程的重新设计,灵活性差,导致时间周期和成本不断增加。新出现的ELT(把T-处理放在了末端数仓中处理)技术架构和方案,将抽取、加载过程与转换过程分开,并将所有需要的全量和实时增量数据快速加载至数仓,意味着在数仓结构设计中更具有灵活性来考虑新的变化需求,有利于项目的运维和管理,将项目的风险最小化。
  • 日益增加的异构数据源环境,包括各种关系型数据库、结构化及非结构化数据、以及NoSQL、MPP数据库/仓库和大数据平台Hadoop/Kafka的应用环境,Kettle缺乏对新数据源的有效支持能力。
  • 免费版的Kettle缺乏必要的数据异常处理和监控运维等管理功能服务,项目开发商/服务商在项目成本及时间的约束下,难于满足这类管理功能需求,造成后续系统运维质量及用户满意度的下降。
  • 在企业私有云和混合云的计算环境下,Kettle等传统产品的C/S架构难于满足构建云与边缘端的数据交换,并支持远程多用户共享使用的要求。
  • 关于几种主流数据同步/ETL产品与Kettle的功能比较,请参阅:

      几种主流数据同步/ETL工具的比较(TurboDX、Goldengate、Kettle、DataX、Informatica)

      TurboDX是北京数贝软件公司开发的专业的数据交换软件产品工具,代码量达600M,拥有大量自有核心技术,解决了常见的需求难点和痛点:

 -- 异构应用数据库实时复制同步(秒级)、单向双向双写双活、多对1汇聚、1对多分发场景

-- 支持Oracle视图实时增量同步,解决了重型业务系统读写分离的痛点

-- 广泛支持各种数据源和目标,包括所有主流关系数据库的日志CDC和NoSQL/数据湖高速加载

-- 全过程断点控制和高容错机制,避免数据丢失

-- 高性能: 大事务大字段的处理、写入性能、源和目标的性能匹配、延时小、交换通量高

-- HA高可用性、高可靠性、负载均衡集群

-- 对源库性能影响小(<3%),非侵入性,在源和目标端不安装任何代理程序

-- 多租户SaaS化平台功能,数据隔离,解决数据源连接及管理权限和安全等方面需求

      TurboDX易实施、易调整、易运维,功能集成度高,有效降低实施和运维成本。

      从原理上说,基于数据库日志CDC的数据交换,利用了数据库日志本身的服务性能,是最能保证交换性能的。过去由于缺乏好的工具,尤其在应用集成和数据集成领域。利用TurboDX,可以有更多的选择。

      如果您在集成开发过程中或已经实施的项目里遇到数据同步交换导致的问题,例如缺乏工具导致开发量大、免费开源工具在实时性、功能和性能、可管理性方面不能满足需求,造成丢数据、数据堵塞、同步延时拉长、运维困难等问题,请试用一下专业解决数据同步、交换整合领域难点痛点的TurboDX。

     产品业务价值:提高数据时效性,从T+1变成秒级实时更新;加快数据开发周期和减少数据入湖实施时间;降低数据集成人力成本,从专职几个人处理变成一个兼职人员就可以处理上万张表。

      作者李清 QQ:450353867,毕业于上海交通大学,现任北京数贝软件科技有限公司(www.synball.com) CTO,负责TurboDX 异构数据复制同步、交换整合、ELT系列产品的研发。TurboDX系列产品已成功应用于许多企业/政府的大数据应用项目中。


版权所有©️2016  北京数贝软件科技有限公司    京ICP备14032596号-1