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