V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
B9hkc
V2EX  ›  数据库

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

  •  
  •   B9hkc · 16 小时 5 分钟前 · 879 次点击

    问题背景

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

    当前使用方案

    • xxl_job + datax

    遇到的问题

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

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

    8 条回复    2024-11-23 22:54:51 +08:00
    BugCry
        1
    BugCry  
       15 小时 59 分钟前 via Android
    试试 kettle
    1024potato
        2
    1024potato  
       15 小时 54 分钟前
    flink CDC
    ljh2057
        3
    ljh2057  
       15 小时 46 分钟前
    Apache SeaTunnel
    COW
        4
    COW  
       14 小时 46 分钟前 via Android   ❤️ 1
    定时任务+自定义 datax ,这不就是一个 ETL 平台的功能吗,你们应该有这种 ETL 平台吧,直接找数仓的同事公共讨论方案从数据流和业务上解决是不是会更好。
    l1ch40
        5
    l1ch40  
       14 小时 1 分钟前
    tapdata
    LittleControl
        6
    LittleControl  
       13 小时 36 分钟前 via iPhone
    4 楼给出答案了,应该找数仓的同事讨论一下能否复用他们 ETL 平台或能力,肯定这方面他们经验更丰富一些
    andytao
        7
    andytao  
       7 小时 50 分钟前
    强势关注,袋鼠把你的需求案例纳入测试案例了,将在升级开发中作为验收案例;
    andytao
        8
    andytao  
       7 小时 46 分钟前
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   957 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 22:41 · PVG 06:41 · LAX 14:41 · JFK 17:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.