patternsqlMinor
MySQL H.A with automatic failover
Viewed 0 times
withautomaticmysqlfailover
Problem
MySQL has a lot of different highly available solutions, I would like to know what are the differences between all the current implementations, here are the implementations that look currently up to date :
What would be the recommended options (or any others) for a high available setup with automatic failover ? (For something equivalent of the SQL Server DB Mirroring with synchronous replication)
- MySQL Group Replication (by Oracle)
- MySQL NDB Cluster (by Oracle)
- Galera Cluster (by Galera)
- XtraDB Cluster (by Percona)
- MySQL Fabric Cluster (by Oracle)
- MySQL Orchestrator (by Github)
What would be the recommended options (or any others) for a high available setup with automatic failover ? (For something equivalent of the SQL Server DB Mirroring with synchronous replication)
Solution
Galera == PXC == MariaDB w/Galera -- These are close to the same.
For HA, you need 1 (or more) node in each of 3 datacenters. (Think earthquakes, tornados, floods, even datacenter outages -- which do happen.)
Oracle's Group Replication is quite new, but has a lot of promise.
Oracle's "Fabric" is probably being abandoned. (Probably because of a hard-to-solve single-point-of-failure.)
Orchestrator is very good at failing over arbitrary trees (think relay-servers) of lots (even hundreds) of slaves. Not sure about Master failover. (See lectures from Booking.com.)
MHA is pretty good -- But when it discovers a "split brain" situation, it requires manual intervention.
NDB Cluster has a number of different things in its "engine". That is, it is not a 'drop-in' replacement for InnoDB, which all of the rest support. For one thing, it employs "eventual consistency", wherein you need to specify how to resolve conflicts.
I think the Galera-based solutions, plus Group replication are the only ones that will automatically repair a failed server when it is brought back up. (I could be wrong here.)
My preference today: Percona's PXC or MariaDB with Galera -- each builds in and supports Galera. But I am keeping my eye on Group Replication.
For HA, you need 1 (or more) node in each of 3 datacenters. (Think earthquakes, tornados, floods, even datacenter outages -- which do happen.)
Oracle's Group Replication is quite new, but has a lot of promise.
Oracle's "Fabric" is probably being abandoned. (Probably because of a hard-to-solve single-point-of-failure.)
Orchestrator is very good at failing over arbitrary trees (think relay-servers) of lots (even hundreds) of slaves. Not sure about Master failover. (See lectures from Booking.com.)
MHA is pretty good -- But when it discovers a "split brain" situation, it requires manual intervention.
NDB Cluster has a number of different things in its "engine". That is, it is not a 'drop-in' replacement for InnoDB, which all of the rest support. For one thing, it employs "eventual consistency", wherein you need to specify how to resolve conflicts.
I think the Galera-based solutions, plus Group replication are the only ones that will automatically repair a failed server when it is brought back up. (I could be wrong here.)
My preference today: Percona's PXC or MariaDB with Galera -- each builds in and supports Galera. But I am keeping my eye on Group Replication.
Context
StackExchange Database Administrators Q#165440, answer score: 4
Revisions (0)
No revisions yet.