作为阿里早期的开源产品,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测试配置截图:
那么测试结果如何呢?
这是WhaleTunnel同步的性能速率:
这是同样配置服务下,单台DataX同步Insert的速率:
这是同样配置服务下,单台DataX同步upsert的速率:
可以看到,同样的数据,在同样的并行度情况下有如下测试结论:
可以看到,在这个场景下,因为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感兴趣,可扫描下方二维码沟通咨询。
本文由 白鲸开源科技 提供发布支持!