求不同数据库之间的数据同步方案

B9hkc · 6 小时前 · 516 次点击

问题背景

  • 可能会用到的部分数据库:
    • PostgreSQL -> Gbase
    • PostgreSQL -> PostgreSQL
    • MySQL -> PostgreSQL
    • Gaussdb -> Gbase
  • 数据量:每张表 1000 万~10 亿,部分表数据量在 25 亿+以上的量级

当前使用方案

  • xxl_job + datax

遇到的问题

  • 稳定性:
    • 部分表做增量任务不会结束。如某张表有 10 亿的数据量,之前已经做过全量同步的任务了,现在做增量同步,仅同步最近三天的数据,结果读插件一直在读,但最近三天可能没有数据,然后 datax 的读插件一直读出 0 条数据,任务一直不会结束。(不是读插件查询 SQL 的问题,将查询 SQL 取出单独执行可在较短时间内得出结果)
    • 重复插入导致任务失败。源表通过主键保证了每条数据的唯一性,但在 datax 同步时,源表只有唯一的一条数据,目标表也有相同的主键约束,出现该条数据会插入两次,插入第二次时因为数据已经插入过,违背主键约束导致任务直接失败。
    • ......

以上问题也不是每张表都有,大部分表也都能成功,但是部分表就是遇到这些问题。我的需求需要保证数据同步必须稳定成功,每月做一次全量同步,每天做一次增量同步。请教一下各位大神该问题还有哪些方案可用(开源或商业付费都可以),或者我遇到的问题可能出现在什么地方。谢谢各位大佬

举报· 516 次点击
登录 注册 站外分享
4 条回复  
BugCry 小成 6 小时前
试试 kettle
1024potato 小成 6 小时前
flink CDC
ljh2057 初学 5 小时前
Apache SeaTunnel
COW 初学 4 小时前
定时任务+自定义 datax ,这不就是一个 ETL 平台的功能吗,你们应该有这种 ETL 平台吧,直接找数仓的同事公共讨论方案从数据流和业务上解决是不是会更好。
返回顶部