MySQL 5.6 vs. MariaDB 10.0

A high-level comparative overview of the features

With the recent GA release of MySQL 5.6, there have been a lot of questions about where MariaDB stands with regards to MySQL 5.6.  SkySQL will of course support both as Patrik explained in his recent blog post, but there are many questions about the technical differences. Rasmus from Monty Program gave a detailed view on MariaDB 10.0 here but I thought it would be beneficial to share a comparison table of the two. MariaDB recently released a benchmark including various versions of both MariaDB and MySQL (as did DmitriK from Oracle), but this post will focus solely on features (not performance). This comparison table is a high level overview with no intention to cover every single feature, only the ones deemed most significant.

I have intentionally left out the threadpool and other features that only exist as closed source features of MySQL, even though they are available in MariaDB as open source features. I have also only selected some of the optimizer features for this list, for a more comprehensive comparison look here.

Some of the MySQL 5.6 features that are not yet in MariaDB are scheduled to go into MariaDB 10.0.2 (the next release of MariaDB 10.0). They are included here in this table and marked as missing in the MariaDB 10.0 column, but with a footnote that they will be in MariaDB 10.0.2 The most notable of these features is the Global Transaction ID (a discussion on the MariaDB implementation can be found in Kristian Nielsen’s blog here and here). There are also other features where the internal implementations differ. I haven’t taken a particular stance on that, but other benchmarks and blogs show any differences.

As always, comments are very welcome. Here is the grid:

MySQL 5.5 MariaDB 5.5 MySQL 5.6 MariaDB 10.0
Multi-source Replication
NoSQL Cassandra Storage Engine
NoSQL Handlersocket interface
NoSQL memcache interface
Dynamic Columns
Virtual Columns
Join Optimizations
Engine Independent Statistics
SHOW EXPLAIN of a running thread
Explain Improvements 1)
Global Transaction ID 2)
Online Alter Table 2)
Parallel Slave Threads
Partitioning Improvements
InnoDB Improvements 3)
Performance Schema Improvements
>Optimizer Enhancements
Binlog Group Commit
Disk Access Optimizations
Subquery Optimizations
Microseconds Precision
  1. All improvements, except JSON output will be available in MariaDB 10.0.2
  2. Will be available in MariaDB 10.0.2
  3. All improvements, except FULLTEXT indexes are already available. FULLTEXT indexes will be available in MariaDB 10.0.2

Max is the creator of the original MySQL training program at MySQL AB. He is a co-founder of SkySQL and now manages the training department with the aim to help advance the MySQL ecosystem around the world.

Join the conversation LinkedIn