托管数据入湖 · EL(T) 工具¶
Explanation · 原理进阶
一句话定位
不是每一次入湖都值得自建 Kafka + Flink。托管 EL(T) 工具——Airbyte / Fivetran / Apache SeaTunnel / Databricks Auto Loader / AWS DMS——适合"我只想把 MySQL 搬到 Iceberg · 不想维护一整套流式栈"的场景。
和其他页的边界
本页讲 "不自建流式栈的入湖路径"。区别于:
- CDC 内核 · 讲"CDC 作为技术"· 原理 + 产品生态
- Kafka 到湖 · 讲自建 Kafka + Flink 工程细节
- Streaming Upsert · CDC · 讲湖表侧语义
TL;DR
- 为什么托管 · 自建 Kafka + Flink 的隐性成本(团队 / 运维 / SLA)在小团队远超托管账单
- 五类托管路径:
- Airbyte · OSS + Cloud · 300+ 连接器 · 社区路径
- Fivetran · 商业 SaaS · 企业级稳定 · MAR 计费(大规模源表账单可能快速增长)
- Apache SeaTunnel · Apache TLP(2023-05)· 160+ 连接器 · 国内社区活跃
- Databricks Auto Loader · Databricks 生态 · 文件级增量(不是 DB CDC)
- AWS DMS + Glue · AWS 生态 · log-based DB CDC
- 适用边界 · 延迟分钟级以上 · 连接器有现成 · 不需复杂 transform
- 不适用 · 需毫秒延迟 / 复杂流计算 / 深度定制连接器
1. 为什么需要托管入湖¶
自建 Kafka + Flink 的隐性成本¶
自建栈需要的团队能力:
▸ Kafka 集群运维(版本升级 / broker 扩缩 / 磁盘 / retain 策略)
▸ Flink JobManager / TaskManager 运维(K8s Operator · Savepoint · State Backend)
▸ Debezium connector 定制(SMT · 错误处理 · Schema Registry 对接)
▸ 监控 / 告警 / 故障排查 · 每层都要
▸ 值班 SLA
小团队真实成本 · 1-2 个 FTE 专职维护
托管入湖换来的是:"我不懂 Kafka/Flink 也能把数据搬进湖"——代价是延迟和定制深度的妥协。
什么时候该用托管¶
| 信号 | 含义 |
|---|---|
| 团队 < 5 工程师 · 无专职数据平台 | 托管省下至少 1 FTE |
| 源头 1-5 个系统 · 目标 1 个湖 | 规模不够撑自建栈 |
| 延迟要求:分钟到小时级 | 自建延迟优势用不上 |
| Schema 相对稳定 | 复杂 schema 演化托管支持有限 |
| 合规 / 审计 / SLA | Fivetran / Airbyte Cloud 有 GDPR / SOC2 |
什么时候不该用托管¶
| 信号 | 含义 |
|---|---|
| 延迟要求:秒级 | 托管通常分钟级起 |
| 规模:PB · 万表级 | 托管计费模型可能超自建 |
| 需复杂流计算(窗口聚合 / 双流 Join) | 托管是 EL(T) · 不做流计算 |
| 需深度自定义连接器 | 闭源商业有限制 |
2. 五大托管路径¶
先分清 4 类 · 不要混排横比
这 5 个产品不是同一类东西——错误横比会导致错误 shortlist:
| 类别 | 代表 | 本质 |
|---|---|---|
| SaaS EL(T) | Fivetran · Airbyte Cloud | 商业托管服务 · 连接器 + 运行时都由厂商担 · 按 MAR/用量计费 |
| OSS 集成框架 | Airbyte OSS · Apache SeaTunnel | 开源框架 · 自部署 · 连接器开源 + 运行时自运维 |
| 文件增量发现 / 落湖 | Databricks Auto Loader | 不是 DB log-based CDC · 是检测对象存储新文件并增量加载 · Databricks 平台能力 |
| DB CDC 迁移工具 | AWS DMS | 数据库迁移服务 · log-based CDC · AWS 原生 |
选型时要先选类别再选产品——比如"我需要 DB CDC"时对标 AWS DMS / 自建 Debezium · 不要和 Auto Loader 对比(后者根本不做 log-based CDC)。
Airbyte · OSS + Cloud¶
- 定位 · 开源 + 托管商业化并行 · 社区路径
- 连接器 · 300+(source + destination)· 主流 DB / SaaS / 文件系统
- 湖仓 sink · Iceberg · Parquet on S3 · Snowflake · Redshift · 部分 Delta
- CDC 支持 · MySQL / PostgreSQL / MongoDB / Oracle(log-based · 内部用 Debezium 的部分实现)
- 部署 · Airbyte OSS 自部署(K8s / Docker Compose)· 或 Airbyte Cloud 托管
- 适合 · 自主可控 + 预算敏感 · OSS 可自部署
Fivetran · 商业 SaaS¶
- 定位 · 纯商业 SaaS · 企业级稳定性
- 连接器 · 400+ · 多 SaaS 深度集成
- 湖仓 sink · Databricks · Snowflake · Iceberg · Delta · BigQuery
- 特点 · 零维护 · 自动 schema 处理 · 完备 SLA
- 计费 · Monthly Active Rows (MAR) 模型——对"少量源表 + 高频变更"很贵 · 大规模源表时月度账单可能超自建成本;实际评估需结合自家源表变更频率
- 适合 · 预算充足 + 团队不想运维 + 合规要求严
Apache SeaTunnel · Apache TLP(2023-05 毕业)¶
- 定位 · Apache 顶级项目(2023-05 毕业)· 分布式数据集成 · 国内社区活跃
- 连接器 · 160+(截至 2025-09 · 按官方 release note · 持续增长)· 覆盖 JDBC / 大数据 / NoSQL / SaaS
- 引擎 · 自家 SeaTunnel Engine + 可选 Flink / Spark 执行后端
- 湖仓 sink · Iceberg · Paimon · Hudi · Delta · StarRocks · Doris
- 特点 · 批 ETL 强(替代 Kettle / DataX)· 配置式 DAG
- 适合 · 中国场景 · 已有大数据栈 · 需要批 ETL 与流结合
Databricks Auto Loader · Databricks 生态¶
- 定位 · Databricks 平台能力 · 从对象存储增量加载文件到 Delta / Iceberg
- 场景 · S3 / ADLS / GCS 持续接收文件(JSON / CSV / Parquet)· Auto Loader 识别新文件并加载
- 不是 log-based DB CDC · 是文件级增量——读者常常误会此点
- 搭配 · Delta Live Tables (DLT) + Structured Streaming 做完整 pipeline
- 适合 · Databricks 栈 · 文件落地场景(非直接 DB CDC)
AWS DMS + Glue · AWS 生态¶
- AWS DMS · Database Migration Service · 支持 log-based CDC
- Source · RDS / MySQL / PG / Oracle / SQL Server / MongoDB
- Target · S3 / Kinesis / Kafka(MSK)/ DocumentDB 等
- 搭配 AWS Glue · DMS 落到 S3 后 Glue 做 ETL 或直接 Glue Crawler 注册 Catalog
- 和 S3 Tables 整合 · DMS → S3 Tables 作为 Iceberg 托管表
- 适合 · AWS 用户 · 不想引入 Kafka / Flink · 接受 AWS 深度绑定
3. 自建 vs 托管 · 决策矩阵¶
| 维度 | 自建(Kafka + Flink CDC) | 托管(Airbyte / Fivetran / DMS 等) |
|---|---|---|
| 初始成本 | 高(集群 + 团队) | 低 |
| 运维成本 | 高(持续 FTE) | 低-中(按账单) |
| 延迟 | 秒到分钟级 | 分钟到小时级 |
| 规模上限 | PB · 万表级 | GB-TB · 千表级 |
| 连接器 | 自己 + Debezium | 厂商现成 |
| 复杂 transform | 支持流计算 | 仅基础 EL(T) |
| Schema evolution | 可定制 | 厂商自动但受限 |
| 厂商锁定 | 低(OSS 栈) | 中-高 |
| 合规 / SLA | 自担 | 厂商负责 |
4. 选型 · 3 步决策¶
Step 1 · 在哪个云 / 数据平台?
- Databricks → Auto Loader + DLT
- AWS(非 Databricks)→ AWS DMS + Glue(或搭配 S3 Tables)
- Snowflake 重度 → Fivetran 最无缝
- 开源 / 中立 → Airbyte(OSS)或 Apache SeaTunnel
Step 2 · 团队规模 · 预算?
- 小团队(< 5 工程师)→ 托管(Airbyte Cloud / Fivetran)
- 中大团队(有数据平台)→ 自建(Flink CDC + Kafka 或 Paimon CDC)
Step 3 · 延迟 · 复杂度?
- 分钟级 + 简单 EL(T) → 托管够
- 秒级 / 复杂流计算 → 自建 Flink
5. 陷阱¶
- 把 Auto Loader 当 DB CDC 用 · 见上 §2 "四类产品分层" · Auto Loader 是文件级增量 · 删除事件不捕获
- Fivetran 账单失控 · MAR 是线性计费(按变更行数)· 但高变更频率 + 大源表场景下月度账单可能快速超自建成本 · 月底看账单再调整为时已晚
- Airbyte 自部署严重低估运维 · OSS 版本没有 K8s Operator · Helm chart 维护自己担 · 实际和自建 Flink 栈成本接近
- SeaTunnel 期望流式工作负载 · SeaTunnel Engine 偏批 · 真流要走 Flink 后端
- DMS 跨账号 / 跨 VPC 配置复杂 · Security group + subnet + IAM + KMS 多层配合容易踩
相关¶
- CDC 内核 · 技术原理
- Kafka 到湖 · 自建栈对照路径
- 管线韧性 · Exactly-once / Schema 传播
- AWS Glue Catalog