MySQL 多个数据库的数据如何汇总成一个数据库?

2019-02-18 16:54:34 +08:00
 t2doo
好比江苏有 5 个城市的数据库的数据,怎么合并汇总成 1 个省的数据,就是要把 5 个城市的数据的每一张表合并成全部的,然后某个城市的数据 CRUD 的时候,省级的数据库也要相应改变,这样要怎么搞?写了几年的代码,头一回碰到数据汇总的需求,麻烦会的朋友指导一下,谢谢热心人
1504 次点击
所在节点    问与答
4 条回复
a591826944
2019-02-18 17:01:52 +08:00
实时 OLAP
tomczhen
2019-02-18 17:07:42 +08:00
可以在应用层收集,也可以通过 CDC 同步,可以比较一下两种方案再来选择。
t2doo
2019-02-18 20:27:18 +08:00
假设有 5 个数据库,各个表和表结构都一样,ID 为自增,现要将 5 个库数据合在一起展示,如何操作?
1 做成 API 接口
优点:实时数据,5 条接口合成一个 JSON 展示,如要搜索的时候重新请求接口生成 JSON
缺点:数据量过大时,是否会影响性能?

2 将各数据库数据合在一起,新建 ID 自增,原先的 ID 保留
优点:操作简便,处理起来容易
缺点:如何做到实时更新,如 A 数据库 CRUD 时总数据也更新
rayingecho
2019-02-18 20:33:49 +08:00
应用层双写
订阅 binlog 同步到总库, 用 canal 即可

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

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

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

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

© 2021 V2EX