现在我找到并配置了mariadb galera集群?但我不知道为什么mariadb galera集群只支持InnoDB。
请修复它。
非常感谢
答案 0 :(得分:2)
除了InnoDB之外,基本上没有理由支持任何引擎。您可以拥有MyISAM或MEMORY表,但不能将同步复制到其他节点。
只有使用InnoDB,才能实现同步复制。我确信MyISAM和MEMORY永远不会得到完全支持。但是,其他事务安全引擎(Tokudb?)可能有一天。
为什么你想要其他引擎?也许我们可以通过其他方式帮助您实现真正的目标。
...附加物
同步复制,Galera实施的方式,即使在ROLLBACK
也需要COMMIT
。否则,在允许写入所有节点时,重复键将是无法解决的问题。
另外...... NDB采用了截然不同的方法 - "最终的一致性",其中重复的密钥可以进入系统,但是用户必须提供一种修复混乱的算法。
单个机器上的InnoDB会检查正在执行的事务中的语句。加莱拉没有。它是乐观的" - 在COMMIT
之前执行事务而不检查其他节点。这提供了性能,因为每个其他节点只有一次往返。 (因此,"中等规模"交易是最佳的。)
MyISAM无法做ROLLBACK
;它取决于前面的锁定表。锁定另一个节点上的表会非常笨拙和低效。
Galera甚至可以在WAN中高效工作 - 再次因为COMMIT
的单一行动。