【问题标题】:Why MariaDB Galera Cluster only supports the InnoDB/XtraDB storage engine为什么 MariaDB Galera Cluster 只支持 InnoDB/XtraDB 存储引擎
【发布时间】:2015-07-07 02:20:26
【问题描述】:

现在我正在查找和配置 mariadb galera 集群?但是我不知道为什么 mariadb galera 集群只支持 InnoDB。

请建议修复它。

非常感谢

【问题讨论】:

    标签: innodb mariadb galera


    【解决方案1】:

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

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

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

    附录...

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

    顺便说一句... NDB 采用了完全不同的方法——“最终一致性”,其中重复的密钥可以进入系统,但用户必须提供一种算法来修复混乱。

    单台机器上的 InnoDB 在执行事务中的语句时进行检查。加莱拉没有。它是“乐观的”——在COMMIT 之前执行事务而不检查其他节点。这提供了性能,因为只有一次往返到其他节点。 (因此,“中型”交易是最优的。)

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

    即使在 WAN 中,Galera 也可以高效工作 -- 再次因为 COMMIT 的单一操作。

    【讨论】:

    • 感谢您的回答,因为我想知道为什么 maria galera 集群不能支持 Myisam,:)
    • 只是好奇?不是“我坚持使用 MyISAM;为什么 Galera 不支持它”?如果您说后者,那么我会问您为什么坚持使用 MyISAM。如果你说“它更快”;我会说“在什么情况下”?如果你说它更小,我会说“让我们寻找缩小数据类型、添加规范化等的方法”。一会儿我再补充一点。
    • 添加了有关 Galera 交易与其他交易的更多详细信息。
    • Galera 不是同步复制。
    • @akuzminsky - 从技术上讲,Galera 并不是完全异步的。但是如果你添加 code for Critical Reads ,它实际上是同步的。
    猜你喜欢
    • 1970-01-01
    • 2016-01-11
    • 1970-01-01
    • 2017-01-09
    • 1970-01-01
    • 2018-05-27
    • 1970-01-01
    • 1970-01-01
    • 2015-01-02
    相关资源
    最近更新 更多