MariaDB vs. MySQL
The following table illustrates the main differences between MariaDB and MySQL:
MySQL | MariaDB | |
---|---|---|
Developer | Oracle Corporation | MariaDB Corporation AB (MariaDB Enterprise), MariaDB Foundation (community MariaDB Server) |
Protocols | MySQL | MySQL + MariaDB |
Source code | Open Source + Proprietary | Open Source |
Development | Closed | Open |
Collaboration | Limited | Extensive |
Storage Engines | InnoDB MyISAM BLACKHOLE CSV MEMORY ARCHIVE MERGE | InnoDB MyISAM BLACKHOLE CSV MEMORY ARCHIVE MERGE ColumnStore MyRocks Aria SphinxSE TokuDB CONNECT SEQUENCE Spider Cassandra |
CHECK constraint | No | Yes |
DEFAULT expression | No | Yes. Also, support DEFAULT values for BLOB and TEXT columns |
Virtual columns | Yes | Yes |
Dynamic columns | No | Yes |
Roles | Yes | Yes |
DELETE … RETURNING | Yes | No |
GIS support | Yes | Yes |
Progress Reporting for ALTER TABLE and LOAD DATA INFILE statement | No | Yes |
Table Elimination | No | Yes |
SQL Management | MySQL Workbench | SQLyog |
Monitoring | MySQL Enterprise Monitor | Monyog |
Backup | MySQL Enterprise Backup | MariaDB Backup |
SQL Common Table Expressions (CTE) | Yes (since version 8.0) | Yes |
SQL Window Functions | Yes (since version 8.0) | Yes |
JSON Support | Yes | Yes |
Data Masking | No | Yes. (MariaDB MaxScale) |
Encryption | MySQL Enterprise Encryption | MariaDB Encryption |
Database firewall | MySQL Enterprise Firewall | MaxScale Firewall |
Auditing | MySQL Enterprise Audit | MariaDB Audit |
Analytics | No | MariaDB ColumnStore |
Partitioning | MySQL Partitioning | MariaDB Partitioning |
Routing | MySQL Router | MariaDB MaxScale |
Replication | MySQL Replication | MariaDB Replication |