I was talking to my friend James about upgrading SQL. If you didn’t know, upgrading SQL is a horrifyingly monumental thing, because there’s no way back except restore from a backup. Minor upgrades are generally painless, but the CentOS warning is as follows:
Upgrades to new major releases (the first two digits in the version string) are more involved because there is a substantial risk of data loss.
Data. Loss.
It’s scary when you consider doing it for yourself. It’s horrifying when you consider doing it for a few thousand users.
On top of that is the issue that MySQL is owned by Oracle and they’re not exactly known for being good stewards of OpenSource. Unlike many other Open Source projects, Oracle owns the entire copyright to MySQL. All contributions are done if the developer has signed a “contributor agreement” that assigns ownership to Oracle. This isn’t all that weird, to be fair. When I worked for The Man, that was basically how things worked and it made sense. The work I did for the company belonged to the company.
Where this is weird is that Oracle has said that about a GPL product, even to parts of it the company has not written. Why is that? It’s because all contributors to the code have to sign a “contributor agreement” assigning ownership of the copyright to Oracle, which is not alone in this. Sun before them used contributor agreements to get full source ownership, and many other projects do the same.
Now, James and I looked at the MariaDB vs MySQL compatibility doc and had a laugh.
tl;dr “For all practical purposes, MariaDB is a binary drop in replacement of the same MySQL version,” except for this long list detailing where you’re screwed.
Now when you get down to MySQL 5.5 and MariaDB 10, the issues become very minor and unlikely to cause you migraines, which is a relief, but that list sure is long and daunting.
I’m not yet running MariaDB because it’s an all-or-nothing move. I can’t keep on MySQL, and I have a few old (ancient) bits of non-WordPress code on this server. I always stress that WordPress is not the limiting factors in server upgrades, and it’s still the truth.
I’ve started doing the recon work to make sure MariaDB will work for all situations on my server, for all apps, and I’m currently pretty sure that I’ll be fine, but I do have one way-out-there app to check into. They’re also one of the few people who pay me for hosting, so we may have to have a sit-down anyway to discuss their future.
@Ipstenu Yep!
— Gary (@GaryPendergast) March 24, 2015
The most important question has been answered.
Comments
3 responses to “How Do You Solve a DB Like Maria?”
I’m using MariaDB 5.x with WP and Drupal and have been for quite a while. I have not run into any problems. I’m not quite sure I’m ready to go to 10.x, however.
<3 You have the best tech related headlines; you're quite poetically precise π
I’ve been in the same spot like you and have being discussing this topic with my fellow WordPress related collages about the migration and usage of MariaDB with WordPress and possible problems instead of MySQL.
The change of easyengine from Percova to MariaDB will be a good improvement for a better usage of MariaDB. https://github.com/rtCamp/easyengine/issues/362
But one thing I noticed searching online is that maybe we don’t know Maria too well enough to trust it, it’s obvious, but it seems it really is a good replacement for MySQL.
I have one personal example, there is this high traffic website in Brazil called Catraca Online and they got last year 4.3 millions users a month. It is about 5k users at the same time and they are not only using WordPress, which is awesome, but they are also using MariaDB.
I mean this is one good example of what MariaDB is capable of. And if we search deeper online, we’ll find out a lot more website using it successfully.