DBDB.io The Encyclopedia of Database Systems · Est. 2017
Database of Databases

Database Entry

MariaDB


MariaDB is a relational DBMS that started as a fork of MySQL. New features from MySQL are likely to be also added into MariaDB. In most cases, users can directly switch from MySQL to MariaDB without having to modify their application code.[05][06]

Source Code
https://github.com/MariaDB/server[02]
Country of Origin
SE
Start Year
2009
Coding Agents
Project Type
Open Source
Written in
Bash, C, C++, Perl
Supported Languages
C, C#, C++, Java, Perl, PHP, Ruby, SQL
Derived From
MySQL
Compatible With
MySQL
Operating Systems
Linux, Windows
License
GPL v2

Database Entry

MariaDB


MariaDB is a relational DBMS that started as a fork of MySQL. New features from MySQL are likely to be also added into MariaDB. In most cases, users can directly switch from MySQL to MariaDB without having to modify their application code.[05][06]

History[07][08]


MariaDB was forked from MySQL after Sun's acquisition by Oracle. The project is lead by Michael Widenius, who was also a founder of MySQL AB which was later acquired by Sun. The DBMS was named after Michael Widenius' younger daughter Maria, just like MySQL, which was named after his first daughter "My".

Checkpoints[09][10]


XtraDB, a fork of InnoDB, is the default storage engine of MariaDB 10.1, while InnoDB is the default storage engine of MariaDB 10.2. InnoDB supports: Sharp checkpointing: all dirty pages of committed transactions are being flushed, while dirty pages for uncommitted transactions are not being flushed. Fuzzy checkpointing: the dirty pages that will be flushed in sharp checkpointing will be gradually flushed.

Concurrency Control[11]


InnoDB uses 2PL deadlock detection.

Data Model[12]


Foreign Keys[13]


MariaDB requires foreign keys to be checked that some integrity rules are enforced.

Indexes[14]


Different Storage engines support different indexes: Aria: B-tree, R-tree MyISAM B-tree, R-tree InnoDB: B-tree Memory/Heap: Hash, B-tree *NDB: B-tree, Hash

Isolation Levels[15]


Joins[16][17]


Logging[18][19]


Physical logging is called binary logging in MariaDB, while logical logging is called general query logging.

Query Compilation


Query Interface[20][21][22]


Storage Architecture[23]


MariaDB supports different storage architectures with different storage engines.

Storage Model[10][24]


MariaDB supports different storage models with different storage engines.

Stored Procedures[20]


Views[25]


Citations

27 sources
  1. MariaDB Foundation - MariaDB.org mariadb.org
  2. GitHub - MariaDB/server: MariaDB server is a community developed fork of MySQL server. Started by core members of the original MySQL team, MariaDB actively works with outside developers to deliver the most featureful, stable, and sanely licensed open github.com
  3. Documentation - MariaDB.org mariadb.org
  4. MariaDB - Wikipedia wikipedia.org
  5. About MariaDB Server - MariaDB.org mariadb.org Dead — Check Archive
  6. MariaDB Documentation mariadb.com
  7. MariaDB Documentation mariadb.com
  8. Making technology work for business – Australia – Computerworld computerworld.com Dead — Check Archive
  9. https://www.xaprb.com/blog/2011/01/29/how-innodb-performs-a-checkpoint xaprb.com Dead — Check Archive
  10. MariaDB Documentation mariadb.com
  11. https://dev.mysql.com/doc/refman/8.0/en/innodb-deadlock-detection.html mysql.com
  12. MariaDB Documentation mariadb.com
  13. Foreign Keys | Server | MariaDB Documentation mariadb.com
  14. MariaDB Documentation mariadb.com
  15. MariaDB Documentation mariadb.com
  16. MariaDB Documentation mariadb.com
  17. MariaDB Documentation mariadb.com
  18. MariaDB Documentation mariadb.com
  19. MariaDB Documentation mariadb.com
  20. MariaDB Documentation mariadb.com
  21. MariaDB Documentation mariadb.com
  22. MariaDB Documentation mariadb.com
  23. MariaDB Documentation mariadb.com
  24. MariaDB Documentation mariadb.com
  25. MariaDB Documentation mariadb.com
  26. https://github.com/MariaDB/server/commit/c6e8dad6424d363ca6c3a58e47a6c6903a231962 github.com
  27. https://github.com/MariaDB/server/commit/c21bb11be28ae9b2432b2a661bf38a197cf9514d github.com
Revision #20 Last Updated: