首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多主复制与单主复制性能

多主复制与单主复制性能
EN

Database Administration用户
提问于 2019-07-16 21:00:13
回答 1查看 1.7K关注 0票数 0

我正试着去想一种假想的情景。

假设我们有一个编写量很大的分布式数据库,而分片不是一种选择。

我想知道多领导人复制(写-写)是否比单领导者(写-读)更有效,因为写-写有同步数据库的开销,并且最终传播到另一个主(S)的写入操作的数量相同。

在哪种情况下,对于编写量大的应用程序来说,多领导者复制比单个领导者更有表现力,而在哪些情况下则不然?

我知道这个问题是宽泛和细微的,但我很乐意阅读一些关于这个问题的想法。

EN

回答 1

Database Administration用户

回答已采纳

发布于 2019-07-16 23:21:19

每一个写都是在每台机器上执行的,不管它是主人还是奴隶。由此得出的结论是,使用传统复制编写缩放是有限制的。甚至加雷拉和群复制也只是师父(S)和奴隶(S)的变体。每台服务器都有所有的数据,并且按照实际情况保持最新的数据。

因此,分片是获得写入缩放的唯一方法。

好吧,我还是试着回答你的问题吧。

通过RBR (基于行的复制),从服务器通常可以完成比主服务器更少的编写(INSERT/UPDATE/DELETE/etc)。

这意味着拥有多位大师会在某种程度上传播“大师的努力”。因此,拥有更多的主人有助于扩展,而移动更多的读物给奴隶也有帮助。

一些配置,以及我的评论:

M <-> M“双主”--如果你同时写这两封信(正如上面所暗示的那样),那么它是一个有点脆弱的系统。

M1 -> M2 -> M3 -> M1“循环大师”--非常脆弱。如果一台服务器发生故障,那将是一场噩梦。

3+大师,每个人互相交谈"Galera集群“--这解决了上面的弱点,但是如果大师之间有很大的延迟,就会受到影响。(获得地理分离以获得HA的延迟。)这是今天一些写缩放的最佳配置。

“群复制”我不确定要不要写缩放。

在所有以上,奴隶(S)可以挂任何或所有大师提供读缩放。

对于写缩放(而不是HA),我将在同一个服务器房中使用3个Galera节点。如果有足够的读物需要担心,那就把一些只读的奴隶打开。

注意:经过Galera中的3个节点(或者可能是5个节点),您将面临一些性能下降的风险。这是因为每个节点都必须在每个COMMIT期间相互通信。

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

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

复制
相关文章

相似问题

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