方案选型
# 前言
数据准实时复制(CDC)是目前行内实时数据需求大量使用的技术。本文把市面上常见的几种开源产品:Canal、Debezium、Flink CDC、DataX、Kettle、Oracle GoldenGate 供大家参考。
# 方案对比
- 自建开源方案对比
Fink CDC | Debeizum | DataX | Canal | kettle | |
---|---|---|---|---|---|
CDC机制 | binlog日志 | binlog日志 | 查询 | binlog日志 | 查询 |
断点续传 | 支持 | 支持 | 不支持 | 支持 | 不支持 |
增量同步 | 支持 | 支持 | 不支持 | 支持 | 不支持 |
全量同步 | 支持 | 支持 | 支持 | 不支持 | 支持 |
全量+增量 | 支持 | 支持 | 不支持 | 不支持 | 不支持 |
架构 | 分布式 | 单机 | 单机 | 单机 | 分布式 |
可维护性 | 文档丰富 官方文档 (opens new window),版本迭代速度较快 | 文档丰富且详细 官方文档 (opens new window) ,版本迭代速度快 | 文档很少 | 文档丰富 官方文档 (opens new window) 迭代较慢,基本上社区维护 | 文档较少 迭代速度慢 |
社区活跃度 | star:3k contributors:54+ | star:7.4k contributors:374+ | star:11.9k contributors:41+ | star:24k contributors:163+ | star:6k contributors:191+ |
- 商业化产品
CloudCanal (opens new window) | Tapdata Cloud (opens new window) | 阿里云DTS (opens new window) | |
---|---|---|---|
部署方式 | 公有云,本地化部署 | 公有云,自建实例,本地化部署 | 云服务 |
全量同步 | 支持 | 支持 | 支持 |
增量同步 | 支持 | 支持 | 支持 |
全量+增量 | 支持 | 支持 | 支持 |
消息订阅 | 支持 | 支持 | 支持 |
结构迁移 | 支持 | 支持 | 支持 |
数据Check | 支持 | 支持三种数据 Check 方式: 1、全量 2、全表字段值校验 3、关联字段值校验 | 不支持 |
开源版本 | 开源版本免费试用 | 开源版本永久免费 | 开源版本 Canal,需要自行维护 |
# 总结
对于数据同步技术的选型,可以从以下几方面考虑:
- 业务支持度(功能)
- 成本(资源成本与运维成本)
- 技术栈
- 社区活跃度
云服务商与开源/自建比较:
云服务商 | 开源二开/自建 | |
---|---|---|
资源成本 | 根据同步任务收费,跟同步业务量有关。 收费是一个长期的过程 | 机器成本,前期投入高 |
维护成本 | 人员投入少,出现问题可以直接找云厂商解决 | 需要自己维护,投入人员较多且周期长 |
功能迭代 | 满足大部分功能,特殊需求可以定制化 | 完全自己掌控,可快速迭代 |
开发周期 | 周期短,能很快接入 | 开发周期长,需要从 0 到 1 |
技术沉淀 | 技术沉淀较少 | 有较丰富的底层技术沉淀 |
# 参考资料
编辑 (opens new window)
上次更新: 2024/09/07, 21:54:32