为什么 MariaDB Galera Cluster 只支持 InnoDB/XtraDB 存储引擎

Why MariaDB Galera Cluster only supports the InnoDB/XtraDB storage engine

现在我找到并配置 mariadb galera 集群了吗?但是我不知道为什么mariadb galera集群只支持InnoDB。

请建议修复。

非常感谢

基本上没有理由支持 InnoDB 以外的任何引擎。您可以 拥有 MyISAM 或 MEMORY table,但无法同步复制到其他节点。

只有InnoDB才能实现同步复制。我确信 MyISAM 和 MEMORY 永远不会得到完全支持。但是,其他事务安全引擎(Tokudb?)可能有一天。

你为什么想要其他引擎?或许我们可以通过其他方式帮助您实现 真正的 目标。

附录...

Galera 实施的同步复制要求能够 ROLLBACK 即使在 COMMIT。否则,当允许写入所有节点时,重复键将是一个无法解决的问题。

旁白... NDB 采用了一种截然不同的方法 -- "eventual consistency",其中重复的密钥可以进入系统,但用户必须提供修复混乱的算法。

单台机器上的 InnoDB 检查事务中的语句是否正在执行。加莱拉没有。它是 "optimistic" -- 在 COMMIT 之前不检查其他节点就执行事务。这提供了性能,因为每个其他节点只有一次往返。 (因此,"medium sized" 交易是最优的。)

MyISAM没办法做到ROLLBACK;这取决于预先锁定 table。在另一个节点上锁定 tables 会非常笨拙且效率低下。

Galera 即使在 WAN 中也能高效地工作——同样是因为 COMMIT 上的单一操作。