MySQL 的 MariaDB 集群与 Percona 集群

wat*_*ou6 6 mysql mysql-cluster mariadb percona percona-xtradb-cluster

两者之间有什么优点和缺点?我只能找到关于这两个实现的信息,而没有任何关于集群的细节。

我目前正在实施 Percona 集群,但我目前唯一关心的是使用 MYISAM 数据库进行复制。我在这些服务器上的 INNODB 中运行了几个 wordpress 数据库,但是当我需要从其他系统迁移数据库时,它们有时完全或部分是 MYISAM,这导致我最近的设置出现了一些问题。

从 Percona 集群迁移到 MariaDB 集群是更好的选择吗?

Mic*_*bot 5

两个平台都使用相同的复制机制:Galera。在该链接的页面上,您会注意到有包含 PXC 和 MariaDB 集群的图像。

Galera 库提供事务复制。MyISAM 不进行交易,因此您现在可能遇到的问题很可能是相关的,并且在备用平台上不会有任何不同。

目前复制仅适用于 InnoDB 存储引擎。不会复制对其他类型表的任何写入,包括系统 (mysql.*) 表。但是,DDL 语句是在语句级别复制的,对 mysql.* 表的更改将以这种方式复制。因此,您可以安全地发出:CREATE USER...,但发出:INSERT INTO mysql.user...,不会被复制。

http://www.percona.com/doc/percona-xtradb-cluster/limitation.html

目前 MariaDB Galera Cluster 仅支持 InnoDB/XtraDB 存储引擎。

https://mariadb.com/kb/en/getting-started-with-mariadb-galera-cluster/

而且,当然,PXC 使用 XtraDB,Percona 对 InnoDB 的兼容替代品(名称中有“XtraDB”),MariaDB 也使用 Percona 的 XtraDB而不是 Oracle 的 InnoDB,尽管为了在两个系统上的兼容性,存储引擎仍然调用本身 InnoDB。

由于这两个系统共享大量代码,并且基本上都是相互替换,因此决定使用哪个平台在很大程度上取决于意见。我个人更喜欢供应商“x”,这可能意味着我个人建议您使用 MariaDB,也可能意味着我个人建议坚持使用 PXC,但实际上我实际上不需要告诉您我的偏好,因为这无关紧要——它主要基于意见、印象、文件和个性,而不是任何有价值的证据。

迁移 MyISAM 的最佳解决方案可能是将转储文件修改为ENGINE=InnoDB(以及任何其他必要的更改)或将它们暂存到独立服务器上,然后在尝试将它们导入集群之前将它们转换并导出为完全 InnoDB。

如果 MyISAM 问题是您唯一关心的问题,甚至只是您最关心的问题,那么 MariaDB Cluster 和 PXC 在这方面基本上是相同的——它们不支持它,出于一个非常合理的原因——这样做是不可行的。