MariaDB 10 vs MySQL 5.6 – A Feature Comparison Update

About a year ago I wrote a blog post comparing MariaDB 10 to MySQL 5.6. You can find that post here. Since then MariaDB 10 has changed quite a bit, many new features have gone in, such as Parallell replication, GTIDs etc, but many features from MySQL 5.6 have also been merged in to MariaDB. MariaDB 10 has now also advanced to a near GA status so it is perhaps time to renew the table. Again, note that this table is very much a high-level feature comparison, there is no particular performance tests related to this, only a feature level comparison. This is also my subjective view, so there might be some features left out or missing or badly covered. Some features are available in both but are implemented differently, the most notable of these is the GTID feature.

Feature and Link MySQL 5.5 MariaDB 5.5 MySQL 5.6 MariaDB 10.0
Multi-source replication tick.png
Flexible Parallell slave replication tick.png
Parallel slave repliction per Schema tick.png tick.png1)
Global Transaction ID (GTID) tick.png2) tick.png
Sharding through Spider tick.png
Table Partitioning Improvements tick.png tick.png
Engine Independent Statistics tick.png
Sub-query and join optimizations tick.png tick.png tick.png
Histogram Statistics for non-indexed columns tick.png
Fusion-IO optimizations tick.png tick.png
Improved threadpool
3)
tick.png
3)
tick.png
Improved Performance Schema tick.png tick.png
Improved InnoDB Storage Engine tick.png tick.png
TokuDB Storage Engine tick.png tick.png
CONNECT Storage Engine tick.png
Sequence Storage Engine tick.png
Cassandra Storage Engine tick.png
Dynamic Columns tick.png
Virtual Columns tick.png tick.png
Handlersocket interface tick.png tick.png
memcached interface tick.png
Table discovery tick.png
SHUTDOWN command tick.png
KILL QUERY ID tick.png
Online ALTER TABLE tick.png tick.png
ALTER TABLE progress report tick.png tick.png
SHOW EXPLAIN for tick.png
Per thread memory statistics tick.png
Roles tick.png
Audit plugin
3)
tick.png
PAM Plugin
3)
tick.png
3)
tick.png
  1. Can be achieved by setting separate domains for each schema
  2. GTID in MySQL 5.6 is tied to a server UUID and not flexible like the one in MariaDB 10
  3. Only available in the Enterprise version not the Community Edition