首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >跨本地和云数据库的数据同步

问跨本地和云数据库的数据同步
EN

Database Administration用户
提问于 2019-04-08 15:51:02
回答 1查看 1.4K关注 0票数 1

有一个中央主数据库(在云上),有多个位置有自己的DB(让我们调用后者- Local )。

本地DB是单个租户,仅包含特定位置的数据。来自本地DB的所有数据都需要与中央主DB同步,也就是说,中央主DB的行为就像多租户DB与来自所有位置的数据一样。

基于可用性的中央主数据库或本地数据库之间的web应用程序负载平衡。当连接存在时,总是优先考虑中央主DB;如果云的连接不存在,则需要将数据写入Local,然后需要与中央主DB同步。

应该遵循什么样的复制策略,这样主服务器才能同步与该LocalDB相关的数据?在某种程度上,这类似于“主-主复制设置中的筛选复制”,但是无法找到关于这一点的太多信息;而且,也不确定这是否是正确的方法。或者,复制是不可能的,并且只需要进行自定义同步?

另外,不确定MySQL 5.7和Postgres v11中哪一个更适合这种用例--这个问题是因为这个用例是主要的,我们可以在这两个数据库之间进行选择。只考虑RDBMS,不考虑NOSQL。

EN

回答 1

Database Administration用户

发布于 2019-04-09 10:14:21

如果"Local“只是读从,那么使用复制筛选器是可行的。https://dev.mysql.com/doc/refman/7.0/en/change-replication-filter.html

但是,由于您有某种主主需求(需要能够同时写入本地DB和中央主数据库),这将很快变得混乱。原因是MySQL并不意味着主主复制是开箱即用的,更不用说具有双向副本筛选器要求的主。因此,我可以想到两种可能的解决方案。

1.)将中央主数据库划分为多个特定位置的数据库,反映它们给定的本地DB合作伙伴。然后,每个合作伙伴对应该成为由两个节点和一个仲裁器组成的Galera“集群”。

2.)拥有您所描述的整个拓扑是一个Galera集群,并且不区分基于位置的数据,即所有服务器都有所有数据。这一解决办法显然将大大降低复杂性,但代价是所需资源增加。

3.)如果您更喜欢使用Postgres,可以使用https://www.2ndquadrant.com/en/resources/pglogical/pglogical-docs/尝试上述2种解决方案的某些变体,但此时似乎多机复制和逻辑复制并不共存。

回答你的其他问题:

-I将尝试实现某种类型的复制,而不是自定义同步,这将很难实现,特别是在数据集很大的情况下。此外,自定义同步解决方案在大多数情况下都会导致数据不一致。

-In,我的观点是,相对于您的特定挑战,MySQL有更成熟的复制工具可用。

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/234210

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档