MySQL, MariaDB or Percona. Which do you prefer and why?
We had a new custom hosted client on StackLinux today. (Fully mananged NVMe based Linux cloud servers) His application is 10x faster on our servers but there’s on function that hangs, turns out it was due to MariaDB incompatibly with MySQL 5.7.
I preferred MariaDB up to version 5.5 for the very reason they stated at the top of this page:
MariaDB versus MySQL - Compatibility - MariaDB Knowledge Base
What has been your experience and preferences?
Initially, I preferred MariaDB because it was a true drop-in replacement. However, over time that has changed and the more recent versions of MariaDB are becoming less and less compatible with MySQL.
I haven’t used MariaDB, but MYSQL is my go-to for stability for specific applications, such as Gitea and Kuma but I read that MariaDB has better performance and threading. I may switch one day if I have a specific application needs it.
Percona Server for MySQL offers TokuDB and MyRocks engines, which provide unique advantages for certain workloads, like significant compression ratios and enhanced read/write efficiency. These engines can be game-changers for specific applications that deal with large datasets or require high throughput.
I’d prefer MariaDB over MySQL, because;
- MariaDB is fully open-source while MySQL is partially open-source. Because of that, some features are limited in the MySQL community version (like threat pooling).
- In my experience, MariaDB is more stable than MySQL. It’s possible to encounter many issues when upgrading or moving MySQL databases.
- JSON data handling is more flexible on MariaDB than MySQL.
- MariaDB is slightly faster than MySQL.
Although MariaDB looks better than MySQL, I prefer/suggest using PostgreSQL instead of both of them.