March 25, 2014

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
About Max Mether

As a co-founder Max now manages the field services and training departments at MariaDB and helps advance the MariaDB and MySQL eco-systems around the world. Max is a frequent speaker at LinuxCon, meetups and other conferences around the globe.

Read all posts by Max Mether