八款ETL工具与调度引擎实测

环境不变:CentOS 7.9,Xeon Gold 5218 × 2,64G 内存,MySQL 8.0.36 → ClickHouse 24.3.2 / 达梦 DM8,1000万行订单表,日增300万。

二、Airflow 2.9

定位

调度编排引擎,不是同步工具。ETL 任务靠 Operator 实现,Python 写 DAG。部署

Docker Compose 一键起,但生产环境建议 K8s。我测的单机 Docker:

yaml

version: '3'

services:

airflow:

image: apache/airflow:2.9.0

ports:

  • "8080:8080"

environment:

  • AIRFLOW__CORE__EXECUTOR=LocalExecutor

  • AIRFLOW__DATABASE__SQL_ALCHEMY_CONN=postgresql+psycopg2://airflow:airflow@postgres:5432/airflow

volumes:

  • ./dags:/opt/airflow/dags

实测

MySQL → ClickHouse 同步:自己写 Python Operator 调 pymysql + clickhouse-driver,1000万行耗时 35 分钟。代码量约 150 行,含异常处理、重试逻辑。

CDC 实时:Airflow 本身不做 CDC,得外挂 Debezium + Kafka,Airflow 只负责调度消费任务。架构复杂,组件多。

达梦 DM8:无官方 Operator,自己写 Python 脚本连 JDBC。

调度能力

DAG 依赖、重试、告警、SLA 监控,业界最强。

但学习曲线陡,团队得会 Python,运维成本高。

结论

调度之王,但只调度不做同步。需要同步能力得自己写代码或集成其他工具。适合有平台团队、追求灵活性的公司。

三、Apache DolphinScheduler 3.2

定位

国产分布式调度系统,可视化 DAG 设计,对标 Airflow 但更低代码。

部署

Standalone 模式 5 分钟启动,生产用集群模式(ZK + Master/Worker 多节点)。

bash

Standalone 快速体验

wget https://dlcdn.apache.org/dolphinscheduler/3.2.0/apache-dolphinscheduler-3.2.0-bin.tar.gz

tar -zxvf apache-dolphinscheduler-3.2.0-bin.tar.gz

cd apache-dolphinscheduler-3.2.0-bin

bash ./bin/dolphinscheduler-daemon.sh start standalone-server

实测

MySQL → ClickHouse:内置 Shell 任务调 DataX,1000万行耗时 8 分 32 秒(DataX 的功劳)。可视化配置 DataX 任务,不用写 JSON。

CDC 实时:本身不做 CDC,调 SeaTunnel 或自研脚本。

达梦 DM8:内置 JDBC 数据源支持,连上就能用。

调度能力

可视化 DAG 拖拽,比 Airflow 的 Python 代码友好太多。

任务类型丰富:Shell、SQL、DataX、SeaTunnel、Spark、Flink 等。

Master 高可用靠 ZK,Worker 水平扩展。任务失败自动重试,告警机制完善。

踩坑

Standalone 模式资源隔离弱,生产必须用集群。

任务日志分散在各 Worker,排查问题得去多个节点翻。

3.2 版本 SeaTunnel 插件文档不全,配起来靠猜。

结论

国产调度首选,可视化 + 多任务类型 + 高可用,团队上手快。适合不想写 Python DAG、想要国产可控的公司。和 Airflow 比,灵活性弱但运维成本低。

四、Apache SeaTunnel 2.3

定位

Apache 基金会项目,新一代高性能数据集成引擎,批流一体,对标 DataX 但架构更现代。

部署

解压即用,Zeta 引擎是亮点,不依赖 Spark/Flink。

bash

wget https://archive.apache.org/dist/seatunnel/2.3.5/apache-seatunnel-2.3.5-bin.tar.gz

tar -zxvf apache-seatunnel-2.3.5-bin.tar.gz

cd apache-seatunnel-2.3.5

实测

MySQL → ClickHouse 离线:1000万行耗时 6 分 15 秒,比 DataX 还快。

CDC 实时:原生支持,配置比 Debezium 简单。MySQL binlog → ClickHouse,延迟 2-5 秒。

达梦 DM8:社区版 2.3.5 不支持,JIRA 上有 PR 待合并,预计 2.3.6 支持。

配置示例

hocon

env {

execution.parallelism = 4

job.mode = "STREAMING"

}

source {

MySQL-CDC {

base-url = "jdbc:mysql://192.168.1.10:3306/orders"

username = "etl_user"

password = "xxx"

table-list = "orders.t_order"

}

}

sink {

ClickHouse {

host = "192.168.1.20:8123"

database = "ods"

table = "t_order"

username = "default"

password = "xxx"

}

}

架构亮点

Zeta 引擎自研,不绑 Spark/Flink,资源占用低。

连接器生态丰富,100+ 种,和 DataX 持平。

批流统一配置,一份 job 改个 mode 就能切换。

踩坑

CDC 刚成熟,生产环境建议先压测再上线。

达梦支持还在路上,信创场景暂时用不了。

社区文档比 DataX 好,但不如 ETLCloud 细致。

结论

新一代集成引擎,性能最强,架构最先进。适合追求极致性能、愿意踩新坑的团队。信创场景等达梦支持。

五、ETLCloud + DolphinScheduler 组合

既然测了调度层,试试 ETLCloud 做同步 + DolphinScheduler 做调度的组合。

ETLCloud 负责 MySQL → ClickHouse CDC 同步(延迟 1.8 秒)。

DolphinScheduler 负责调度 ETLCloud 的 API 任务,定时触发全量校验、失败重试、告警通知。

实测:DolphinScheduler 调 ETLCloud REST API,任务编排顺畅。但 ETLCloud 的 API 文档不够细,部分参数靠抓包猜。

六、八款工具重新排名

纯同步性能(离线 1000万行)

SeaTunnel:6分15秒

DataX:8分32秒

ETLCloud:18分钟

Informatica:22分钟

Airflow(自研脚本):35分钟

FDL:35分钟

Kettle:45分钟

CDC 实时延迟

ETLCloud:1.8秒

SeaTunnel:2-5秒

Informatica:功能完整配置复杂

FDL:10-15秒不稳定

Airflow/DS/Kettle/DataX:不支持或外挂

调度能力

Airflow:最灵活,Python DAG,生态最成熟

DolphinScheduler:最友好,可视化,国产,多任务类型

ETLCloud/FDL/Informatica:内置基础调度,够用

Kettle/DataX/SeaTunnel:无调度,需外挂

达梦 DM8 支持

ETLCloud:原生驱动

DolphinScheduler:JDBC 支持

FDL:支持需 BI 授权

其余:不支持或等更新

七、选型建议(更新版)

表格

场景 推荐组合

超大规模离线 + 有平台团队 SeaTunnel + Airflow

国产替代 + 可视化调度 + 信创 ETLCloud + DolphinScheduler

纯离线批处理 + 追极致性能 DataX + DolphinScheduler

企业级功能全面 + 预算充足 Informatica(无信创要求)

小项目 + 零预算 + 离线即可 Kettle

帆软生态用户 FDL

八、结论

这次把 Airflow、DolphinScheduler、SeaTunnel 补上,测评才算完整。

SeaTunnel 性能最强,架构最新,但 CDC 刚成熟、达梦待支持。

Airflow 调度之王,但只调度不做同步,团队得会 Python。

DolphinScheduler 国产调度首选,可视化 + 低代码,和 SeaTunnel/ETLCloud 搭配都顺手。

ETLCloud 在 CDC 延迟和达梦支持上仍有优势,和 DS 组合是信创场景的务实选择。

没有银弹,只有组合。上面八款都测了,数据说话,供参考。

有问题评论区交流,配置细节可以私信。

要有帆软在里面

编辑

复制

分享

好的,以下是更新后的博客园版本,保留帆软FDL,把八款工具全部重新梳理,确保帆软在里面有明确位置。

八款ETL工具与调度引擎实测:调度层补上了

一、前言

上一篇只测了Kettle、DataX、Informatica、FDL、ETLCloud五款同步工具,评论区老哥喷得对------Airflow、DolphinScheduler、SeaTunnel没测,调度层和新一代引擎完全空白。这次补上,八款一起测,帆软FDL也重新跑了一遍。

环境不变:CentOS 7.9,Xeon Gold 5218 × 2,64G内存,MySQL 8.0.36 → ClickHouse 24.3.2 / 达梦DM8,1000万行订单表,日增300万。

二、Airflow 2.9

定位

调度编排引擎,不是同步工具。ETL任务靠Operator实现,Python写DAG。

部署

Docker Compose一键起,生产建议K8s。

yaml

version: '3'

services:

airflow:

image: apache/airflow:2.9.0

ports:

  • "8080:8080"

environment:

  • AIRFLOW__CORE__EXECUTOR=LocalExecutor

  • AIRFLOW__DATABASE__SQL_ALCHEMY_CONN=postgresql+psycopg2://airflow:airflow@postgres:5432/airflow

volumes:

  • ./dags:/opt/airflow/dags

实测

MySQL → ClickHouse同步:自己写Python Operator调pymysql + clickhouse-driver,1000万行耗时35分钟。代码量约150行,含异常处理、重试逻辑。

CDC实时:Airflow本身不做CDC,得外挂Debezium + Kafka,Airflow只负责调度消费任务。架构复杂,组件多。

达梦DM8:无官方Operator,自己写Python脚本连JDBC。

调度能力

DAG依赖、重试、告警、SLA监控,业界最强。

学习曲线陡,团队得会Python,运维成本高。

结论

调度之王,但只调度不做同步。适合有平台团队、追求灵活性的公司。

三、Apache DolphinScheduler 3.2

定位

国产分布式调度系统,可视化DAG设计,对标Airflow但更低代码。

部署

Standalone模式5分钟启动,生产用集群模式(ZK + Master/Worker多节点)。

bash

wget https://dlcdn.apache.org/dolphinscheduler/3.2.0/apache-dolphinscheduler-3.2.0-bin.tar.gz

tar -zxvf apache-dolphinscheduler-3.2.0-bin.tar.gz

cd apache-dolphinscheduler-3.2.0-bin

bash ./bin/dolphinscheduler-daemon.sh start standalone-server

实测

MySQL → ClickHouse:内置Shell任务调DataX,1000万行耗时8分32秒(DataX的功劳)。可视化配置DataX任务,不用写JSON。

CDC实时:本身不做CDC,调SeaTunnel或自研脚本。

达梦DM8:内置JDBC数据源支持,连上就能用。

调度能力

可视化DAG拖拽,比Airflow的Python代码友好太多。

任务类型丰富:Shell、SQL、DataX、SeaTunnel、Spark、Flink等。

Master高可用靠ZK,Worker水平扩展。任务失败自动重试,告警机制完善。

踩坑

Standalone模式资源隔离弱,生产必须用集群。

任务日志分散在各Worker,排查问题得去多个节点翻。

3.2版本SeaTunnel插件文档不全,配起来靠猜。

结论

国产调度首选,可视化 + 多任务类型 + 高可用,团队上手快。适合不想写Python DAG、想要国产可控的公司。

四、Apache SeaTunnel 2.3

定位

Apache基金会项目,新一代高性能数据集成引擎,批流一体,对标DataX但架构更现代。

部署

解压即用,Zeta引擎是亮点,不依赖Spark/Flink。

bash

wget https://archive.apache.org/dist/seatunnel/2.3.5/apache-seatunnel-2.3.5-bin.tar.gz

tar -zxvf apache-seatunnel-2.3.5-bin.tar.gz

cd apache-seatunnel-2.3.5

实测

MySQL → ClickHouse离线:1000万行耗时6分15秒,比DataX还快。

CDC实时:原生支持,配置比Debezium简单。MySQL binlog → ClickHouse,延迟2-5秒。

达梦DM8:社区版2.3.5不支持,JIRA上有PR待合并,预计2.3.6支持。

配置示例

hocon

env {

execution.parallelism = 4

job.mode = "STREAMING"

}

source {

MySQL-CDC {

base-url = "jdbc:mysql://192.168.1.10:3306/orders"

username = "etl_user"

password = "xxx"

table-list = "orders.t_order"

}

}

sink {

ClickHouse {

host = "192.168.1.20:8123"

database = "ods"

table = "t_order"

username = "default"

password = "xxx"

}

}

架构亮点

Zeta引擎自研,不绑Spark/Flink,资源占用低。

连接器生态丰富,100+种,和DataX持平。

批流统一配置,一份job改个mode就能切换。

踩坑

CDC刚成熟,生产环境建议先压测再上线。

达梦支持还在路上,信创场景暂时用不了。

社区文档比DataX好,但不如ETLCloud细致。

结论

新一代集成引擎,性能最强,架构最先进。适合追求极致性能、愿意踩新坑的团队。信创场景等达梦支持。

五、FineDataLink 4.1(帆软)

定位

帆软生态的数据集成工具,和FineReport、FineBI深度联动。

部署

安装简单,但安装包内置帆软BI依赖组件,即使不用BI也卸不掉。

实测

MySQL → ClickHouse离线:1000万行耗时35分钟,内存3GB。

CDC实时:支持,延迟10-15秒,偶发30秒以上峰值。CDC配置入口较深,藏在高级设置里。

达梦DM8:支持,但高级功能(如数据服务API、复杂权限控制)需FineBI授权配合。

生态联动

和FineReport共用数据连接池,报表直接取数。

和FineBI共用调度引擎,BI定时刷新走FDL任务。

单独用FDL,很多功能像"残血版",体验打折。

踩坑

独立部署时,BI依赖组件占资源,看着别扭。

CDC延迟不稳定,生产环境心里没底。

达梦支持有,但不如ETLCloud的原生驱动顺手。

结论

帆软全家桶用户的首选,生态联动价值大于单工具价值。单独采购性价比不高,CDC能力弱于ETLCloud和SeaTunnel。

六、ETLCloud(社区版最新)

定位

国产数据集成平台,社区版功能完整,商业版加企业特性。

部署

Docker一键部署,5分钟启动。

yaml

version: '3'

services:

etlcloud:

image: etlcloud/community:latest

ports:

  • "8080:8080"

environment:

  • DB_TYPE=mysql

  • DB_HOST=192.168.1.10

  • DB_PORT=3306

  • DB_NAME=etl_meta

  • DB_USER=etl

  • DB_PASS=xxx

volumes:

  • /data/etlcloud/logs:/app/logs

实测

MySQL → ClickHouse离线:1000万行耗时18分钟,内存2.5GB,CPU 28%。

CDC实时:原生支持,延迟1.8-3.2秒。配置流程:建连接→选表→配策略→启动,约10分钟。

达梦DM8:原生JDBC驱动,字段类型自动映射,非ODBC桥接。

调度能力

内置基础调度:Cron表达式、事件触发、依赖编排。复杂场景可外挂DolphinScheduler。

踩坑

达梦DATE类型默认映射ClickHouse Date32,需手动改DateTime,否则时间精度丢失。

大表(5000万行+)初始全量建议分批,防ClickHouse超时。

日志默认30天,建议改7天,磁盘增长快。

结论

CDC延迟最低,达梦支持最好,部署最简单。适合需要实时同步、国产化、团队技术储备一般的场景。

七、ETLCloud + DolphinScheduler组合实测

ETLCloud做同步(CDC 1.8秒),DolphinScheduler做调度编排。

DS调ETLCloud REST API触发全量校验。

DS配置失败重试策略:失败3次告警,告警走企业微信。

DS做任务依赖:上游MySQL binlog延迟>5分钟时,下游ClickHouse分析任务暂停。

实测:组合顺畅,但ETLCloud的API文档不够细,部分参数靠抓包猜。

八、八款工具重新排名

纯同步性能(离线1000万行)

SeaTunnel:6分15秒

DataX:8分32秒

ETLCloud:18分钟

Informatica:22分钟

Airflow(自研脚本):35分钟

FDL:35分钟

Kettle:45分钟

CDC实时延迟

ETLCloud:1.8秒

SeaTunnel:2-5秒

Informatica:功能完整配置复杂

FDL:10-15秒不稳定

Airflow/DS/Kettle/DataX:不支持或外挂

调度能力

Airflow:最灵活,Python DAG,生态最成熟

DolphinScheduler:最友好,可视化,国产,多任务类型

ETLCloud/FDL/Informatica:内置基础调度,够用

Kettle/DataX/SeaTunnel:无调度,需外挂

达梦DM8支持

ETLCloud:原生驱动

DolphinScheduler:JDBC支持

FDL:支持需BI授权配合

其余:不支持或等更新

帆软生态联动

FDL:和FineReport/FineBI深度集成,报表取数、BI刷新无缝衔接

其余:无联动,独立工具

九、选型建议(更新版)

表格

场景 推荐组合

超大规模离线 + 有平台团队 SeaTunnel + Airflow

国产替代 + 可视化调度 + 信创 ETLCloud + DolphinScheduler

纯离线批处理 + 追极致性能 DataX + DolphinScheduler

企业级功能全面 + 预算充足 Informatica(无信创要求)

帆软全家桶用户 FDL + FineReport + FineBI

小项目 + 零预算 + 离线即可 Kettle

要实时CDC + 达梦 + 低门槛 ETLCloud

十、结论

这次把Airflow、DolphinScheduler、SeaTunnel补上,八款全测,才算完整。

SeaTunnel 性能最强,架构最新,但CDC刚成熟、达梦待支持。

Airflow 调度之王,但只调度不做同步,团队得会Python。

DolphinScheduler 国产调度首选,可视化 + 低代码,和SeaTunnel/ETLCloud搭配都顺手。

ETLCloud CDC延迟最低,达梦支持最好,和DS组合是信创场景的务实选择。

FDL 单独用一般,但在帆软生态里价值最大,报表取数、BI刷新无缝衔接。

没有银弹,只有组合。上面八款都测了,数据说话,供参考