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

2020-06-13 18:13:40 +08:00
 GroupF
遇到个问题没太好的思路,我总不能拿唯一标识来一个一个查找吧,应该不太好
3070 次点击
所在节点    Java
14 条回复
GroupF
2020-06-13 18:35:02 +08:00
更新数据条数不同,我天我编辑呢
wangyanrui
2020-06-13 18:37:11 +08:00
😂一脸懵逼,没看到到底想干啥
GroupF
2020-06-13 18:47:28 +08:00
好,我接下来来编辑了, 就是我有两个数据库 A,B ( A,B 是数据库名字),现在 A 数据库表 table 每天会更新数据,也有可能不更新,更新的条数和时间都是随机的,
然后 B 数据库的表 table 是和 A 数据库那个更新数据的 table 表是一样的,但是数据是先更新到 A 里面,问我应该怎样让 B 数据库表和 A 数据库表数据一致

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

同步 A 的 binlog 到 B 里
594duck
2020-06-14 03:19:59 +08:00
ab 是什么数据库。比如 mysql 可以订阅 binglog 回放。阿里有个开源现成的。另外是增量数据可以走 etl
btnokami
2020-06-14 04:09:05 +08:00
整个 cdc 。。。把 A 的更新写进一个 stream 里,然后 B 从 stream 里读然后 apply 这些更新。。。如果 db 本身支持 cdc 功能就更简单了
Takamine
2020-06-14 20:35:46 +08:00
如果是 pg,直接配置主从同步流复制就好了。
GroupF
2020-06-15 08:48:56 +08:00
谢谢大家,自己提问方式还是不全啊,自己对这个问题还是不完全透彻,一个是 A oracale,B mysql,嘿嘿 接下来就交给我自己吧,你们说的我没那么熟悉,自己还是需要多多学习,谢谢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/681282

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX