Where is MariaDB today?

These were my notes from the “Where is MariaDB today?” session at the Lisbon MariaDB Developers Meeting that happened in March 2011. I just realised I hadn’t posted it; also note that it is really raw.

Where is MariaDB today?

5.3 – look at the KB article titled “MariaDB 5.3 TODO“. A lot of things are in the review state at the moment.

Sergei has all the phone home code for the server working; what is missing is a host to collect the data, and also have a website to display things (Holyfoot will work on this).

Mark Callaghan says there are at least two different implementations of group commit work now, and Percona might have a third. This is in relation to Kristian Nielsen’s work. World’s largest workload on group commit is probably at Facebook — Mark’s implementation is in the Facebook patch. Mark wants to make sure that Percona ends up using the MariaDB group commit, because having three versions would be silly. Monty believes that we need to have something that works for everyone, not just for Facebook. Its late in the game, and Percona needs to agree with either the Facebook or MariaDB version of group commit. Mark is also concerned that the group commit patch is very large and intrusive. Mark wants a public design review for group commit. Kristian agrees – we need to have a better way to do design reviews with the MariaDB community (i.e. people outside of Monty Program).

Mark is worried that there are too many optimiser changes in MariaDB which make it difficult to roll out (due to bugs). The ultimate goal is to ensure that Mark doesn’t have to maintain the Facebook patch, and its all in mainline MariaDB.

“We don’t encounter bugs in the optimiser. We see bad paths but we force it.” – Mark

The Google patch removed subqueries from the parser — they didn’t allow subqueries to be run. Subqueries aren’t largely used in large data centres. MariaDB is going to have very optimised subqueries now (in 5.3). Percona does not really hack on the optimiser and the pick up rate of Percona server is great (they just published 1,000 customers). Mark wants to ensure we can show the deployments are coming.

Mark is also concerned we only focus on the optimiser too much. The optimiser optimisations will be complete soon. He wants us to focus on InnoDB and replication. Igor said we won’t be able to do it because we don’t have specialists. Timour says we should finish the optimiser stuff that has taken several years, and the future is that we should definitely focus on InnoDB and replication.

Percona (Peter) wants to ensure that when an optimiser change is made, there is always a flag. And there is in MariaDB.

Mark will sponsor a design review for Percona on group commit. He wants one solution that both Percona & Monty Program agree on for MariaDB. Kristian is open to this as well. Monty hasn’t reviewed the patch yet, its on his TODO.

Krisitan brings up two different mindsets:

  1. The MariaDB way – you do something amazing, good engineering and then deal with the merges later
  2. The MySQL from Oracle is upstream, you make technical compromises, and you make a less intrusive patch

Kristian focused on the MariaDB way for the group commit patch.

Sergei Golubchik takes the stage to talk about the status of MariaDB based on MySQL 5.5

He’s doing a bzr merge then goes through all the conflicts. Then one does the tests to make sure things pass. Then do a complete diff, and understand the changes and see if things need to get fixed. Monty admits the merges are getting more complex.

At the end of the meeting, the plans for MariaDB 5.6 were formulated. There’s a lot of work coming up ahead.


  1. Henrik Ingo says:

    Thanks. Raw or not, this was actually useful to understand what is going on.

  2. Pravin Singh says:

    Great post!!

  3. Pavel says:

    Good post! following some of the links I finally found out the differences between mysql and maria and I like whats been done in mariadb that I’ll try to switch ;) BTW, 3 questions: are there any plans for maria to have a native 128bit (uuid) datatype? Is it safe to assume that the protocol used wont change and I can safely use mysqlnd from php? Out of curiosity – is there any code exchange between maria and drizzle? Thanks!