I've been impressed with Postgres, and still have a sour taste in my mouth over MySql's sale to Oracle. So why would I want to use MariaDB over Postgres? Is there a compelling reason to give it a look?
The main stronghold of MariaDB is the drop in replacement for MySQL. If you already have a well established web app and you are planning on get off the clutches of Oracle, MariaDB is your easy choice. You don't have to make substantial changes or worry about breaking any existing functionality. As for performance, can someone who have used both comment on it? Also anyone knows if any exciting changes coming to MYSQL? Can't believe MySQL still doesn't have support for Json.
The replication you get when you combine it with Galera. If postgresql had that I would drop mariadb, but the painless replication and having multiple read write masters is too good to pass up on. Conversely if Mariadb would add the json data types that postgresql has I would probably never think about moving.
Cool! The ability to fetch the result of a write operation without having to do a SELECT afterward is one of my favorite "minor perks" of PostgreSQL. It eliminates the need for a lot of extra queries.
With MariaDB 10.0, only DELETE statements get the RETURNING clause. But it seems that they have plans to add it to UPDATE statements soon [1], and I hope INSERT gets it as well.
I develop a Rails 3 web app and recently moved from MySQL to MariaDB. Well actually the guys at Rails Machine did the move for me. I don't know what all they did on their end, so can't speak much for the server admin side. We ended up making the switch since I was moving to a high availability setup with multiple DB servers.
On the web app side, I am using the mysql2 gem and made zero changes to my code. Also, I frequently import SQL dumps from MariaDB into my local MySQL development with no problems.
The only issue I had was related to some nasty SQL I had in a select in a finder (yeah I know bad practice). MySQL was returning a 0 while MariaDB returned NULL. Either way, it was my fault for messy code and when I fixed the select, everything was good.
I maintain a reasonably complex web app in production that uses stored procedures extensively. I am running it in production with both MariaDB 5.5.x and MySQL 5.5.x.
I have not experienced any compatibility issues with MariaDB vs. MySQL.
Seamless. I'm not using stored procedures, views, etc., but for some simple InnoDB databases, MariaDB was a drop-in replacement. The command line tools are even still called mysql.
The bug was now been analyzed but not fixed for ~3 releases.
That said I also ran the testsuite against 5.6 and found some problems, too. You might also be concerned about http://bugs.mysql.com/bug.php?id=69274 - this means that if you loose an idb file during a crash you're out of luck to use your db ever again.
We're thus currently stuck at percona server 5.5 with regular investigation of the alternatives.
Recently upgraded from MySQL 5.1 -> MariaDB 5.5 with no issues what so ever. We have ~90 tables where the largest table has 40,000,000 entries.
I configured the new database servers as slaves of the old ones. This enabled me to verify things in production and do a safe upgrade. Promoting the MariaDB slaves to master was the only required action in terms of switching over. No code changes were required in our application code.
[+] [-] darkchasma|12 years ago|reply
[+] [-] nivla|12 years ago|reply
[+] [-] cinquemb|12 years ago|reply
I had to edit it very little to fit how my data was stored, and imported it successfully to work within Django.
[0] https://github.com/lanyrd/mysql-postgresql-converter
[+] [-] jdhendrickson|12 years ago|reply
[+] [-] Keyframe|12 years ago|reply
[+] [-] kijin|12 years ago|reply
With MariaDB 10.0, only DELETE statements get the RETURNING clause. But it seems that they have plans to add it to UPDATE statements soon [1], and I hope INSERT gets it as well.
[1] https://mariadb.atlassian.net/browse/MDEV-5092
[+] [-] cakeface|12 years ago|reply
[+] [-] terrellm|12 years ago|reply
On the web app side, I am using the mysql2 gem and made zero changes to my code. Also, I frequently import SQL dumps from MariaDB into my local MySQL development with no problems.
The only issue I had was related to some nasty SQL I had in a select in a finder (yeah I know bad practice). MySQL was returning a 0 while MariaDB returned NULL. Either way, it was my fault for messy code and when I fixed the select, everything was good.
[+] [-] deweller|12 years ago|reply
I have not experienced any compatibility issues with MariaDB vs. MySQL.
[+] [-] nitrogen|12 years ago|reply
[+] [-] treffer|12 years ago|reply
The bug was now been analyzed but not fixed for ~3 releases.
That said I also ran the testsuite against 5.6 and found some problems, too. You might also be concerned about http://bugs.mysql.com/bug.php?id=69274 - this means that if you loose an idb file during a crash you're out of luck to use your db ever again.
We're thus currently stuck at percona server 5.5 with regular investigation of the alternatives.
[+] [-] SkyAtWork|12 years ago|reply
[+] [-] simonz05|12 years ago|reply
I configured the new database servers as slaves of the old ones. This enabled me to verify things in production and do a safe upgrade. Promoting the MariaDB slaves to master was the only required action in terms of switching over. No code changes were required in our application code.
[+] [-] antihero|12 years ago|reply