Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Which MySQL Fork/Version to Pick?

Tags:

mysql

As most of you know, Sun acquired MySQL (and later Oracle acquired Sun), and during these acquisitions, there were a lot of FUD in MySQL community which resulted in creation of various forks.

Today we have MySQL from MySQL, Percona (XtraDB) MySQL, OurDelta MySQL, MariaDB, Drizzle to name a few. Which brings us to the source of the problem.

We are in the process of upgrading our databases (hardware/software) and I would like to know which one of the forks should I go with. Each has their own set of pros/cons. We are currently using MySQL 5.0.x from MySQL/Linux on an 8-core machine. Our new hardware is a monster with 32 cores and 32GB of memory connecting to a fast NetApp Storage via FC.

I would like to stick with MySQL from MySQL but I have heard horror stories on how badly MySQL 5.1 performs on many cores. I have also heard that MySQL 5.4 performs better on multi-core machines but that's still not production ready. In addition, I have also heard a lot of good things about Percona builds.

This is what I know so far:

MySQL 5.1 from MySQL: Reliable choice, but doesn't scale well on a big machine

Percona: Scales well, good backing company. I don't have much experience with it

MariaDB: Don't know much about it besides that it was founded by Original MySQL developers (including Monty)

OurDelta: Don't know much

Drizzle: Mostly optimized for cloud computing

I would like to know what's the general notion about this problem. Which build/version should I go with? How are you guys picking your builds/versions?

Thanks!

like image 788
Drew Avatar asked Mar 15 '10 21:03

Drew


People also ask

What version of MySQL should I use?

We recommend using the most recent GA release. The naming scheme in MySQL 5.6 uses release names that consist of three numbers and an optional suffix; for example, mysql-5.6. 1-m1.

Which MySQL Forks has been led by the original developers of MySQL?

MariaDB is a community-developed fork of the MySQL relational database management system intended to remain free under the GNU GPL. The fork has been led by the original developers of MySQL, who forked it due to concerns over its acquisition by Oracle.

What is MySQL fork?

Its large and active developer community has created many third-party applications, tools, and libraries that expand MySQL's functionality. Forking a database cluster creates a new cluster from an existing cluster based on a specific point in time.

How do I determine MySQL version?

To check the version your MySQL is running, type and execute mysql -V (note the uppercase V) in the command line.


1 Answers

All of the 'forks' you mentioned (except Drizzle) re-base off newer official releases of MySQL. I think that the word fork can lead you down the wrong path - since the intention is just to provide after market modifications. I wrote about this here:

http://mtocker.livejournal.com/50931.html

Since they re-base of MySQL, and MySQL 5.0 is in "extended maintenance", only major vulnerabilities are to be fixed. This means you want to be moving to 5.1. If we work with this assumption, then it cuts OurDelta out from your decisions - since they are just the 5.1 MariaDB build/packaging partners.

I think you can also rule out Drizzle, since it is currently pre-beta. They're planning a beta by the end of the summer - but it's still much earlier than what you'll want. I really don't think you use a database not ready for production, so this rules out MySQL 5.5 as well.

So this leaves Percona Server, Official MySQL 5.1 and MariaDB. It's true that 5.1 has some poor scalability with many cores, but if you enable the InnoDB plugin it is better.

The rest of my response from here on in is biased - I work for Percona:

Percona XtraDB has additional CPU scalability fixes than MySQL 5.1+InnoDB plugin. The ones that are going to matter are covered here:

http://www.percona.com/docs/wiki/percona-xtradb:features:start

One I can comment on in particular that will matter is this one: http://www.percona.com/docs/wiki/percona-xtradb:patch:innodb_split_buf_pool_mutex

like image 179
Morgan Tocker Avatar answered Oct 14 '22 04:10

Morgan Tocker