俺有一个数据库的数据想要同步到另一个数据库, A 库的字段名和 B 库的字段名对应不一样, A 库数据会更新,B 库做到比较高效地同步更新。
请问一样我要肿么处理,效率和稳定性会比较高呢。(╹▽╹)
1
KingOfUSA 2019-11-08 11:57:20 +08:00
1. 可以用 mq 来解决,这样要动你的程序。A 库的程序更新了以后发一条 mq,然后监听者消费,更新 B 库数据;
2. 使用监听 mysql binlog 的中间件(例如阿里的 canel ); 3. 如果上云了,可以使用云厂商提供的服务; |
2
justfly 2019-11-08 12:00:14 +08:00
最后问题,一库两表,用触发器
|
3
xxsww211 2019-11-08 12:00:34 +08:00
对应字段不一样,那就只能做新的插入了,而且两个表都是有读写的,所以能做的事并不多。
无非就是监控 A 的变化,去更新或插入 B。 |
4
xxsww211 2019-11-08 12:01:49 +08:00
可以考虑将一个表做成 cache,将共用的部分做缓存,只写一个表,另外一个就不需要重复的部分了
|
5
hua123s OP 😭A 的写,我没法控制。要做的只是同步 A 库数据到 B 库
|
6
x66 2019-11-08 13:08:21 +08:00 1
etl 根据 create_datetime 和 update_datetime 增量同步
|
7
SjwNo1 2019-11-08 14:45:05 +08:00
同库 用触发器就可 字段不一致考虑做字段映射
|
8
realpg 2019-11-08 15:49:02 +08:00
2. 触发器
1. 触发器出发另外一个跟目标结构表 然后同步这个表 1 的高级玩是自己编一个基于 RAM 的引擎输出结构化流给远端或者本地独立服务器,我搞过 |