MySQL Cluster or MariaDB Galera

Benjamin Oman picture Benjamin Oman · Jun 28, 2013 · Viewed 14.6k times · Source

I'm considering implementing a cluster server. I have currently used MySQL for my application for the past few years but I've read a lot of uncertainty over the past year on what is going to be happening with MySQL and also the advantages and improvements of MariaDB.

If it were a single server, based on everything I've read I would switch over to MariaDB right now so I wouldn't need to do it later, but since it's a cluster I am torn about whether I should switch to MariaDB Galera right now or wait awhile before it's more mature.

Does anyone have experience implementing both of these solutions and "pros" and "cons" of those implementations?

My other worry is that with improvements, MariaDB won't be a complete drop-in replacement after a year or 2 as it improves and adds new features, so now WOULD be a better time to switch to MariaDB.

Answer

Bill Karwin picture Bill Karwin · Jul 8, 2013

You can also use Galera in Percona XtraDB Cluster, which is backward compatible with MySQL.

(disclaimer: I work for Percona.)

No one can truthfully guarantee backward compatibility forever -- not even Oracle.

FWIW, if you're worried about drop-in replacement technology, then you should know that MySQL Cluster is a great example of not satisfying that criterion.

Because of the way the NDB storage engine partitions data, most users need to redesign their schema to take advantage of NDB. Many users "upgrade" an existing app to MySQL Cluster but experience worse performance, because their queries tend to touch every node in the cluster anyway. MySQL Cluster is a brilliant solution for the cases it handles well, but you can't assume it's a drop-in replacement for conventional InnoDB architecture. You have to do careful functional testing, performance testing, and load testing.