基于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 生成