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

两个数据库 AB,A 每天都会有新数据,更新数据不同, B 要同步数据库 A

  •  
  •   GroupF · 2020-06-13 18:13:40 +08:00 · 3281 次点击
    这是一个创建于 1657 天前的主题,其中的信息可能已经有所发展或是发生改变。
    遇到个问题没太好的思路,我总不能拿唯一标识来一个一个查找吧,应该不太好
    14 条回复    2020-06-15 08:48:56 +08:00
    GroupF
        1
    GroupF  
    OP
       2020-06-13 18:35:02 +08:00
    更新数据条数不同,我天我编辑呢
    wangyanrui
        2
    wangyanrui  
       2020-06-13 18:37:11 +08:00 via Android
    😂一脸懵逼,没看到到底想干啥
    GroupF
        3
    GroupF  
    OP
       2020-06-13 18:47:28 +08:00
    好,我接下来来编辑了, 就是我有两个数据库 A,B ( A,B 是数据库名字),现在 A 数据库表 table 每天会更新数据,也有可能不更新,更新的条数和时间都是随机的,
    然后 B 数据库的表 table 是和 A 数据库那个更新数据的 table 表是一样的,但是数据是先更新到 A 里面,问我应该怎样让 B 数据库表和 A 数据库表数据一致

    已知:现在能获取到 A 数据库 table 表的所有数据
    jorneyr
        4
    jorneyr  
       2020-06-13 18:53:12 +08:00
    可以试试主从,A 为主,B 为从,A 变化后自动同步到 B
    hangszhang
        5
    hangszhang  
       2020-06-13 19:04:43 +08:00
    MasterSlave 模式, 或者写 A 的时候发一条消息, 下游消费的时候写入 B 库
    singerll
        6
    singerll  
       2020-06-13 19:26:34 +08:00 via Android
    数据库一样不一样,在不在一个网络,管理员权限在不在你手里?
    wowo243
        7
    wowo243  
       2020-06-13 21:25:16 +08:00 via Android
    主从同步需要整库吧,如果只有单个表可以 etl,kettle 或者 datax 。
    jorneyr
        8
    jorneyr  
       2020-06-13 21:34:07 +08:00
    如果只是一个表,可以试试 Canal
    BQsummer
        9
    BQsummer  
       2020-06-14 00:13:04 +08:00 via Android
    不是代码能解决的,主从同步或者自己处理 binlog
    Jooooooooo
        10
    Jooooooooo  
       2020-06-14 00:17:16 +08:00
    你要的是 databus

    同步 A 的 binlog 到 B 里
    594duck
        11
    594duck  
       2020-06-14 03:19:59 +08:00 via iPhone
    ab 是什么数据库。比如 mysql 可以订阅 binglog 回放。阿里有个开源现成的。另外是增量数据可以走 etl
    btnokami
        12
    btnokami  
       2020-06-14 04:09:05 +08:00 via iPhone
    整个 cdc 。。。把 A 的更新写进一个 stream 里,然后 B 从 stream 里读然后 apply 这些更新。。。如果 db 本身支持 cdc 功能就更简单了
    Takamine
        13
    Takamine  
       2020-06-14 20:35:46 +08:00
    如果是 pg,直接配置主从同步流复制就好了。
    GroupF
        14
    GroupF  
    OP
       2020-06-15 08:48:56 +08:00
    谢谢大家,自己提问方式还是不全啊,自己对这个问题还是不完全透彻,一个是 A oracale,B mysql,嘿嘿 接下来就交给我自己吧,你们说的我没那么熟悉,自己还是需要多多学习,谢谢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5374 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 05:57 · PVG 13:57 · LAX 21:57 · JFK 00:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.