基于Dinky的cdc整库同步
痛点
- 全量增量切换麻烦易出错
- 手工映射表结构易出错
- 表结构变化造成的维护困难
- 多表同步造成的连接数过多以及Binlog的重复读取
解决方案
- 基于FlinkCDC 2.1+版本自动实现全量转增量切换能力
- 通过FlinkCatalog自动发现维护mysql的表和schema自动构建结构信息
- 通过CDAS语法合并整库通过作业定义的同源source,例如到kafka指定或同名主题
| 使用 Dinky 前 | 使用 Dinky 后 | |
|---|---|---|
| 开发效率 | 需要借助Java开发 | 主要采用 SQL 开发,也支持 Jar 作业 |
| 作业运维 | 需要打 Jar 包提交运行作业;不支持作业告警 | 界面化提交作业,支持作业实时告警 |
| 数据源 | 平台切换繁琐 | 支持多数据源管理,统一不需要切换平台 |
| 整库同步 | Flink CDC 不支持 | Dinky 支持 |
| SQL 提交 | Flink sql-client 需要额外写sql 文件 | 不需要写sql文件,且支持其他数据源类型的 sql 提交 |
| 语法检查 | 需要借助经验判断 sql 是否正确 | Dinky 支持语法检查功能 |
| 语句调试 | 需要通过 sql-client 来调试,交互不友好 | 支持 sql 的友好的交互调试 |
| 元数据 | 不方便查看,需要另外开发程序 | Dinky 支持查看与 sql 生成 |