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

Max Mether, co-Founder and Head of Server Product Management is currently leading the efforts on MariaDB Server development. Prior to his current role, Max built up the Professional Services team at MariaDB from scratch. Max began his career consulting and training for prominent companies including MySQL and Sun Microsystems. He continues to train as a frequent speaker at LinuxFests, LinuxCons and other prominent conferences globally. Max earned his Master of Science (Eng) in Physics and Maths from Helsinki University of Technology. A native of Finland, and by-way of Paris, France, Max now resides in Atlanta, Georgia where he is an avid skier, rugby and hockey player.

Read all posts by Max Mether