Consider switching: MySQL vs MariaDB

If you’re working with databases, you’ve surely heard about MySQL. When Oracle acquired Sun Microsystems in April 2009 – the company who owned MySQL – a lot of developers expressed concern about the future of MySQL.

Being the author and founder of MySQL and a strong open-source believer, Michael “Monty” Widenius, decided to start a new project and create a “drop-in” replacement, MariaDB.

MariaDB’s goal is to have 100% compatibility with MySQL, as well as adding new features, additional bugfixes and improved performance.

How easy it is to switch from MySQL?

Right from the start, MariaDB were committed to maintaining 100% compatibility, thus every library developed in any language for MySQL should work correctly with MariaDB. When you are developing your application, unless you are making use of the extra, powerful features MariaDB has – in which case MySQL may not be able to handle your code – everything should run fine in both MySQL and MariaDB.

If you have existing databases on a MySQL server, you can simply replace your database server with the same version of MariaDB without making any changes to the datafiles.

In other words, you shouldn’t have to modify anything at all in your application to start using MariaDB.

Extra features in MariaDB 5.5 (vs MySQL)

MariaDB has an extensive list of new features built on top of MySQL. We’ll discuss some of these, but for a full list of features added in MariaDB you can take a look at their website MariaDB vs MySQL – Features page, as well as Optimized Feature Comparison Matrix.

XtraDB Storage Engine

In addition to the storage engines already present in MySQL, the most notable and probably most used addition to MariaDB is XtraDB. XtraDB is an enhanced InnoDB-based storage engine developed by Percona, designed to scale and operate better in high performance environments. Other than being able to scale more easily, using XtraDB you can also get higher performance using less resources.

Persistent Virtual Columns

In the early days, some of our customers find it difficult, if not impossible, to create Persistent Virtual Columns from which they wanted to extract data vital for their businesses. MariaDB offers this feature since version 5.2, and we are pleased to say this saved both, us and our customers, a great deal of time.

PAM Authentication

Thanks to the PAM authentication plugin, MariaDB can now fulfill the needs of companies of any size by enabling authentication against various authentication methods, and even a centralized infrastructure, such as a LDAP. We believe this is a key addition and a great step forward.

Geographic Information System (GIS)

Companies working with GIS systems can take advantage of MariaDB’s Geographic Features in developing their applications and analyzing the data. MariaDB supports spatial columns, as well as special operators to deal with this type of data.

Although these are only a few of the features available already in the stable version, we think that the developers behind MariaDB made a great job and MariaDB is a robust and stable database.

Things we’re looking forward to in MariaDB 10

MariaDB are ready to make the jump straight to version 10. They’re doing this because they’re adding a lot of very useful new enterprise features and bringing SQL and NoSQL closer together.

Cassandra NoSQL support

Already present in 10.0-alpha, the Cassandra storage engine will provide data integration between MariaDB and Cassandra databases. You will be able to use a Cassandra column as a simple table in MariaDB, enabling you to create complex joins and inserts across databases without a hassle.

Multi-source Replication

Another nice addition we can already see in 10.0-alpha is multi-source replication. This enables a slave server to have many masters from which it replicates.

Conclusions

Wikipedia recently announced they are migrating from MySQL to MariaDB and already reported an overall 2-10% performance increase. We truly believe MariaDB is a great database and it’s definitely ready to handle key production systems.

At Layershift we are offering MariaDB through our UK hosted Jelastic PaaS and we are glad to see more people choosing it every month. We hope to see interesting applications coming to life and we encourage everyone to take Jelastic for a FREE test drive.