Anyone used MySQL Forks in Production

Solution 1:

We haven't used the MySQL forks but for our case (a Bioinformatics databases) switching to PostgeSQL worked really well. The web-application (Cellwall Navigator, 10k lines of Perl code and 10 db tables) was running on MySQL for 5 years. It took us 2 days to adjust the SQL to migrate to Postgres.

No application coded needed adjustments except for connection to the database.

The adjustment were:

  • Replaced MySQL password() with Postgres md5() like this SELECT id FROM users WHERE email = ? AND password = password(?) becomes SELECT id FROM users WHERE email = ? AND password = md5(?)

  • Easy conversion for a MySQL STRAIGHT_JOIN to a regular JOIN

  • And one JOIN case like this

Original SQL, which was permitted by MySQL (worked fine for the app before migration):

SELECT sequence.id, ... FROM sequence JOIN xlink ON xlink.sequence = sequence.id WHERE xlink.accession = ? GROUP BY sequence.id

We adjusted it to be the proper SQL that works in PostgeSQL and correct for the application:

SELECT DISTINCT sequence.id, ... FROM sequence JOIN xlink ON xlink.sequence = sequence.id WHERE xlink.accession = ?

Solution 2:

I use http://www.percona.com/software/percona-server/ now and its great. I also know of some very popular Internet companies that use it

Solution 3:

I've been running MariaDB at Ravelry.com for about a year. The master db is 5x larger than the 40 GB buffer pool and it handles a fair amount of traffic - about 3K queries per second at busy times. In my opinion, it is the best MySQL out there and there is no reason to use any other MySQL.

It performs better than regular MySQL (thanks to the included Percona XtraDB / InnoDB plugin), is actively maintained, and contains additional useful patches and storage engines apart from Percona's work.

I could go on and on about indispensable features that plain MySQL doesn't have - marked performance improvement with multiprocessor machines, innodb recovery time is vastly improved, bugs in mainline MySQL are dealt with quickly, table and index statistics are extremely useful... I'm excited to see HandlerSocket added (via Percona)

MySQL 5.5 was recently released and it does (finally) come close to the included XtraDB engine performance-wise but I still think that MariaDB is a better way to go.

Use MariaDB.