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