file

作为阿里早期的开源产品,DataX是一款非常优秀的数据集成工具,普遍被用于多个数据源之间的批量同步,包括类似Apache DolphinScheduler的Task类型也对DataX进行了适配和增强,可以直接在DolphinScheduler里面利用通用的数据源调用DataX进行数据批量同步。

作为DolphinScheduler的社区支持者和商业版本的提供者,白鲸开源在升级到商业版WhaleScheduler的时候也遇到使用DataX的用户,因为白鲸开源也在主力维护者另外一个Apache顶级社区 Apache SeaTunnel,它对应的商业版是WhaleTunnel。所以,经常有客户会询问,WhaleTunnel比DataX优势在哪里啊? 性能到底如何?今天这里用一个客户实际的POC案例来实景对弈下,以及最终用户为什么选择WhaleTunnel替换了开源的DataX。

功能差异

首先,从功能上,我们来对比下商业版WhaleTunnel和DataX的差异点。可以看到WhaleTunnel作为一个商业数据集成工具,不仅具备了Apache SeaTunnel开源的多线功能,还在数据源数量、可视化、DDL变更和运维监控方面都做了增强,对比DataX来讲,更是在集群稳定性、批流一体、数据源以及可视化上有明显优势:

对比项WhaleTunnel(商业)DataX
部署难度容易容易
运行模式分布式,也支持单机单机
健壮的容错机制无中心化的高可用架构设计,有完善的容错机制易受网络闪断、数据源不稳定等因素影响
支持的数据源丰富度支持批量和CDC 165种数据源: MySQL、PostgreSQL、Oracle、SQLServer、SAP Hana、Hive、S3、OSS】文件、RedShift、PolarDB
HBase、Doris、Clickhouse等实时和批量数据源还在快速增长
支持批量数据源:MySQL、ODPS、PostgreSQL、
Oracle、Hive 等 20+ 种批量数据源
商业版连接器针对多种常见数据源,Doris、StarRocks、GaussDB、Redshift、偶数等单独与原厂共同定制开发底层商业版连接器,性能大幅超过开源版连接器开源版连接器
内存资源占用
数据库连接占用少(可以共享 JDBC 连接)
自动建表支持不支持
整库同步支持不支持
断点续传支持不支持
JDBC 连接池复用支持
DDL变更支持强,支持多种数据源DDL变更不支持
可视化设计支持完全可视化数据源管理、数据Mapping定义任务定义、运维监控、告警不支持
多引擎支持基于商业扩展的SeaTunnel Zeta引擎只能运行在DataX自己的引擎上
数据转换算子(Transform)支持Copy、Filter、Replace、Split、SQL 、自定义 UDF等算子。
商业专有Transform:添加列,改类型,删除列,改列名,Transform支持DDL变更适配,在DDL变更场景也支持Transform自适应。
支持补全,过滤等算子,可以 groovy自定义算子
单机性能比DataX高30%-80%较好
批量同步支持支持
增量同步支持支持
实时同步支持不支持
CDC同步支持不支持
批流一体支持不支持
精确一致性所有JDBC访问的数据库(比如MySQL, SQLServer, PG, Oracle等)、Kafka、Hive、HDFS、File , SFTP, FTP等连接器支持不支持
可扩展性插件机制非常易扩展易扩展
进度监控及统计信息丰富的可视化监控,同步进度、速率,表同步情况,任务错误情况,同步条数等监控信息,DDL变更提醒、数据模型变更提醒等。无监控界面,可以在DolphinScheduler级别实现任务级别的监控
告警支持DDL变更告警,数据延迟告警,数据异常报警等不支持
Web UI全部可视化建立数据映射以及同步任务,并与商业版本调度WhaleScheduler集成,支持完全可视化数据源管理、任务定义、运维监控、告警等
与调度系统集成度与商业版本调度WhaleScheduler深度集成,支持各种调度传参数用于同步,比如日历,牌等信息已经与DolphinScheduler集成

性能差异

具体到性能方面,到底孰弱孰强,我们直接上用户具体测试的实际场景来看(这是在征求某零售客户许可后公布的测试POC数据内容,已混淆其中的各项业务相关内容):

测试内容:

  • 单表(80个字段,数千万条记录)
  • 源数据库:Oracle
  • 目标数据库:Apache Doris
  • WhaleTunnel与DataX并行度:10
    WhaleTunnel采用可视化界面配置,DataX采用WhaleScheduler中的DataX任务进行配置。

这是WhaleTunnel测试配置截图:

file

那么测试结果如何呢?

这是WhaleTunnel同步的性能速率:

file

这是同样配置服务下,单台DataX同步Insert的速率:

file

这是同样配置服务下,单台DataX同步upsert的速率:

file

可以看到,同样的数据,在同样的并行度情况下有如下测试结论:

file

可以看到,在这个场景下,因为WhaleTunnel在源连接器读取速度、商业引擎以及商业写入连接器方面都有大幅优化,在同样并行度的Insert场景下,速度是DataX的2.2倍;而Upsert场景下,WhaleTunnel速度是DataX的2.6倍。而这只是WhaleTunnel单台服务器的场景,WhaleTunnel还支持集群部署来提高并行度性能,同时WhaleTunnel集群还支持CDC实时数据同步,可以说功能上完全就是新一代的数据集成工具。

结论

综上,可以看到WhaleTunnel在开源版的Apache SeaTunnel之上增加了大量商业版功能,并对可视化开发、引擎、接口、Transform、DDL、运维监控做了大量优化和开发。而两者基于新一代数据集成引擎SeaTunnel Zeta,在批量同步、实时同步方面都是在行业当中的佼佼者。与DataX相比,WhaleTunnel更适用于多种场景、多数据源的数据同步,同时也可以帮助用户全面从DolphinScheduler+DataX的组合中平滑升级到WhaleScheduler+WhaleTunnel的新一代DataOps平台里,满足用户多云、混合云、多数据源的批量、CDC实时的数据集成工作需求。

如果对数据集成和同步工具商业版WhaleTunnel感兴趣,可扫描下方二维码沟通咨询。

本文由 白鲸开源科技 提供发布支持!

SeaTunnel
85 声望21 粉丝

Apache SeaTunnel是下一代高性能、分布式、海量数据集成框架。通过我们的努力让数据同步更简单,更高效,大幅减少学习成本,加快分布式数据处理能力在生产环境落地。