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

查看 42|回复 3
作者:B9hkc   
问题背景

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

    当前使用方案
  • xxl_job + datax

    遇到的问题

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



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

  • BugCry   
    试试 kettle
    1024potato   
    flink CDC
    ljh2057   
    Apache SeaTunnel
    您需要登录后才可以回帖 登录 | 立即注册

    返回顶部