首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Percona XtraDb集群自动增量

Percona XtraDb集群自动增量
EN

Database Administration用户
提问于 2018-04-19 05:55:02
回答 2查看 845关注 0票数 0

请帮我澄清一个我找不到答案的非常重要的问题。只有通过测试才能证明。

假设我们有三个节点的XtraDB集群(或Galera集群)。我们有主用户的表与自动增量主键。

  • 第一个节点的这个表中的in是1,4,7,10.
  • 在第二个节点-2,5,8,11.
  • 在第三个节点-3,6,9,12.

经过一段时间后,我们有第一个节点有10000插入,因此它的自动增量值约为30000。但是其他两个节点的加载较少,因此它们只有大约100个插入,其自动增量值约为300。

现在,我们决定向集群中再添加两个节点。现在自动增量偏移量等于5.显然,两个加载较少的节点无法用新的偏移量来填充300到30000之间的数字,对吗?

那么,表在每个节点上的自动增量会发生什么呢?集群将如何运行?

它是否会对每个节点启动30000的自动增量,而从300到30000的未填充ids将保持未填充?

谢谢你的时间和经验。

EN

回答 2

Database Administration用户

回答已采纳

发布于 2018-04-20 03:03:54

很高兴知道你已经想出了诀窍。

顺便回答你的第二个问题。PXC有一个配置(wsrep_auto_increment_control),它可以帮助您恢复类似于独立的auto_increment行为。

如果您的工作负载没有并行写入到表中,那么当然可以使用它。

(在这里查看更多关于http://galeracluster.com/documentation-webpages/mysqlwsrepoptions.html#wsrep-auto-increment-control的内容)

你也可以试一试,看看它是如何工作的。

票数 0
EN

Database Administration用户

发布于 2018-04-19 09:42:59

我们做了些测试。原来,自动增值的工作原理完全不同,所以我的担忧毫无意义。

有了三个节点,每个插入到表中,就可以完全更新表的自动增量索引。因此,您始终没有使用值,只有在后面的情况下,来自不同节点的两个插入同时出现,这样ids就可以一个接一个地出现。

这让我们想到了另一个想法。如果我们有五个节点,那么INT(11)就会比一个普通的非集群表快五倍。

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

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

复制
相关文章

相似问题

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