tesla747 Asked: 2015-08-13 09:45:00 +0800 CST2015-08-13 09:45:00 +0800 CST 2015-08-13 09:45:00 +0800 CST 裂脑场景——RAC 和 PXC 772 尽管裂脑场景在 Oracle RAC 和 Percona 的 XtraDB 集群中都会发生,但允许双节点集群并且在 RAC 中解决了裂脑场景,但在 Percona 集群中不建议双节点(建议 3 个节点)。为什么会这样?Percona 不能解决双节点集群中发生的裂脑问题吗?我知道我正在比较两种不同的技术……但如果有人能解决这个问题的话。 谢谢! mysql oracle 1 个回答 Voted Best Answer RolandoMySQLDBA 2015-08-13T10:56:10+08:002015-08-13T10:56:10+08:00 我明白为什么 Oracle RAC 可以处理裂脑而 PXC 不能。 它们在架构和数据存储方面的区别。以什么方式 ??? 甲骨文RAC 所有 RAC 实例只处理一组数据库文件 每个 RAC Instance 都有自己的 Log Buffer 和 LGWR(Log Writer)进程 写入任何 Oracle RAC 实例,即使是在临时关闭的节点上,也可以合并和序列化它们的日志序列号 Percona XtraDB 集群 每个 PXC 节点都有自己的完整数据集 对一个 PXC 节点的写入必须在所有节点上一致回滚或提交 写入在通信中拆分的 PXC 节点只会更新/提交到其本地数据副本。当再次建立通信时,其他未连接的 PXC 节点对此类写入的感知不存在。 根据Percona 关于 PXC 的常见问题 问:它将如何处理脑裂? A:不会处理的。脑裂是hard stop,XtraDB Cluster无法解析。这就是为什么最低限度的建议是拥有 3 个节点。但是有可能允许节点处理流量,选项是: wsrep_provider_options="pc.ignore_sb = yes" 概括 Oracle RAC 作为集群符合 ACID(同样,一组数据库文件) Percona XtraDB Cluster 遵守CAP Theorm 而不是 ACID compliance 观看 YouTube 视频,其中 Vadim Tkachenko(Percona 首席技术官)讨论了裂脑场景以及您的责任(视频从 17:00 开始,听到 19:20 或更长时间)
我明白为什么 Oracle RAC 可以处理裂脑而 PXC 不能。
它们在架构和数据存储方面的区别。以什么方式 ???
甲骨文RAC
Percona XtraDB 集群
根据Percona 关于 PXC 的常见问题
概括