假设目前有四个数据库D1、D2、D3、D4, 想将它们统一集中地备份到一个数据库b中。
这些DB可能都不在同一个服务器上。
D1、D2、D3、D4等中的若干表, 如产生增、删、改等即立即更新b中的备份。
要求:
(1)产生更新后,一分钟内必须更新b中的数据;
(2)b的容量可能会比较大, 要考虑其扩容与执行效率。
mysql可以这样做
原生方案:
5.7版本 使用multi-source replication功能,就相当于搭建了从库。主库压力不大,从库资源还行的话,基本实时。
b执行考虑问题,可以打开并行复制,并且降低数据安全性(为了降低写入IO)。容量的话,建议数据盘做成lvm方便扩展。如果数据量更大可以考虑上存储或者额外的硬盘柜
第三方组件方案:
自己用程序或者canal解析每台的binlog,然后把相关库的binlog去b库中回演。
然后b库可以用mycat中间件等分布式架构,满足容量问题
mysql可以分布式或者主从库吧,sqlserver可以通过数据库发布,其他的没了解过。具体要看你的数据库是什么。还有4个库的库名。表明到同一个库中。名有没有冲突之类的把。对数据库不太了解。,
收起