2013-03-07

MariaDB-Galera 5.5 released as stable

It's now about one year ago since we released MariaDB 5.5. That proved to be an important release for MariaDB as it became popular with the users and ultimately also has been adopted by several important Linux distributions. But we have not stopped working since then, and now the MariaDB project is happy to announce something new again: the immediate availability of MariaDB Galera Cluster 5.5.29 stable release (GA).

As soon as we had released MariaDB 5.5 stable, we started planning with Codership Oy how to integrate their Galera replication technology with MariaDB 5.5. We have then worked together to merge their Write Set REPlication API into MariaDB, and gone through a rigorous testing program with beta and RC releases leading to today's a stable release.

Elena from Monty Program and people from the MariaDB user community have tested those releases and provided feedback if they have found any bugs. Seppo Jaakola from the Galera team is a MariaDB Captain, which means he not only has commit rights to the MariaDB trunk, he also can participate in the MariaDB decision making together with other core contributors. (Note that MariaDB Galera Cluster currently still has it's own branch in the MariaDB project on Launchpad. But I think it is likely that in the future this will become part of the main MariaDB branch and releases.)

This is one reason today's release makes me very happy, because this is a great example of what we always wanted the MariaDB project to become. It also shows how we operate with many other companies and individuals. We want to be open and inclusive to anyone who can contribute great code, so that MariaDB can continue its MySQL heritage of being the most popular open source database. We want MariaDB to always include all the great innovation happening in the MySQL ecosystem.

About synchronous multi-master clustering

In the past weeks I have traveled in Germany, Korea and Sweden to speak about MariaDB, and it is clear to me that a lot of people have already heard of Galera and are already trying it out. But if you didn't yet know about this technology, let me tell you why it is important.

MariaDB Galera Cluster provides synchronous multi-master replication. A simple way to explain what this means is to compare it with other alternatives that we have used for MariaDB high availability until today:

If you compare it to the traditional master-slave replication, it means that your data is safer in a Galera cluster because it is replicated immediately as part of the commit, without any delay. (This is why it is synchronous.) Also, in traditional master-slave replication you can do read-only scale-out, but with Galera you can read and write to any node. This makes life easier for application developers, because you don't need to separate read-only transactions and write transactions. (This is why it is called multi-master.)

You can also compare it with DRBD, which is another popular High Availability solution for MariaDB and MySQL. The reason people use DRBD is usually because it is also synchronous replication, only it happens on the disk driver level. So it is used by people who want to be 100% sure they don't lose a single transaction if they do a failover. But DRBD doesn't give you any scale-out, since the spare node is so called cold standby, so you cannot use it for anything else but disaster recovery.

With MariaDB Galera Cluster we now provide "best of both worlds": it is both synchronous, and you can use it for scale-out. And not just read-only scale out but multi-master scale-out.

Automatic node provisioning

There are many other benefits to Galera too, and you will be able to read more about them on the MariaDB blog. One nice little feature I think is also worth mentioning is the automatic node provisioning. One reason MySQL master-slave replication has become so popular is that it is quite easy to setup and understand. But Galera takes this even further, they completely automate the node provisioning process. My philosophy when I created MySQL was always to make everything very easy to the user, and I'm happy to see Galera shares this philosophy.

But it is not only nice, it is actually an important feature especially if you run MariaDB in the cloud. In the cloud you can save money by adding nodes to a cluster (scale out) when needed and then removing them (scale in) when you need less performance. You might do this every day, or every week depending on what kind of traffic your website gets. But to add and remove MariaDB nodes every day, you of course cannot do it manually every time.

For example many NoSQL systems talk about automatic node provisioning in their marketing so that they will sound "cloud compatible". But MariaDB Galera Cluster does it too, so there is no reason to abandon SQL just to have automatic node provisioning.

Commercial support

When you have tested MariaDB Galera Cluster and decided that you like it, and want to run it in production, you of course want to make sure you have proper support in place. This is also important so that the developers can continue to work on the project and make it even better. Codership operates with a similar model like my company Monty Program, they develop the technology and do bug fixes, and they partner with SkySQL and other companies that support MariaDB in order to provide a complete and seamless support experience. You can contact SkySQL to discuss commercial support for both MariaDB and MariaDB-Galera.

You can also support MariaDB Galera Cluster development directly by donating via the MariaDB Foundation. If you specifically want to support Galera development, you should target your donation to "MariaDB Galera Cluster".