Galera 的全指令隔离(TOI)模式和写阻塞的澄清

问题描述 投票:0回答:1

我目前正在探索 Galera 集群中的全订单隔离 (TOI) 模式,并且正在寻求有关写阻塞如何在此模式下运行的说明,特别是在多个数据库托管在同一服务器上的情况下。

据我了解,Galera 集群中的 TOI 模式旨在在执行某些数据定义语言(DDL)操作时阻止服务器级别的写入操作。但是,我不确定当多个数据库托管在同一服务器上时的行为。

具体来说,如果由于“数据库A”中的DDL操作而发生TOI事件,那么在此期间“数据库B”中的写操作是否也会被阻塞?还是写阻塞只影响执行DDL操作的数据库?

我也很好奇 Galera 集群中的写入集是如何管理的。具体来说,集群中的每个服务器是独立管理自己的写入集,还是在数据库级别管理写入集?

任何有关 Galera 行为这方面的见解或澄清,我们将不胜感激。此外,如果有任何相关文档或来源可以提供有关此主题的更多信息,我将不胜感激您的指导。

感谢您的协助!

根据我在进程列表中观察到的情况,似乎写入阻塞发生在服务器级别。但是,我找不到任何明确提及此行为的文档。文档是否考虑了有关写入阻塞是否发生在节点级别或数据库级别的详细信息?

mysql database mariadb replication galera
1个回答
0
投票

TOI 影响整个服务器,来自 docs“在 DDL 处理期间,没有其他事务可以提交。”。

同样来自文档 - Percona Toolkit 中的 pt-online-schema-change 是进行低影响架构更改的好方法。

© www.soinside.com 2019 - 2024. All rights reserved.