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

时间:2015-07-07 02:20:27

标签: innodb mariadb galera

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

请修复它。

非常感谢

1 个答案:

答案 0 :(得分:2)

除了InnoDB之外,基本上没有理由支持任何引擎。您可以拥有MyISAM或MEMORY表,但不能将同步复制到其他节点。

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

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

...附加物

同步复制,Galera实施的方式,即使在ROLLBACK也需要COMMIT。否则,在允许写入所有节点时,重复键将是无法解决的问题。

另外...... NDB采用了截然不同的方法 - "最终的一致性",其中重复的密钥可以进入系统,但是用户必须提供一种修复混乱的算法。

单个机器上的InnoDB会检查正在执行的事务中的语句。加莱拉没有。它是乐观的" - 在COMMIT之前执行事务而不检查其他节点。这提供了性能,因为每个其他节点只有一次往返。 (因此,"中等规模"交易是最佳的。)

MyISAM无法做ROLLBACK;它取决于前面的锁定表。锁定另一个节点上的表会非常笨拙和低效。

Galera甚至可以在WAN中高效工作 - 再次因为COMMIT的单一行动。