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

Database Entry

MariaDB


MariaDB Server is a world-wide popular database server, which is created by the original developers of MySQL. It is highly compatible with applications developed for 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 extra work.

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

Database Entry

MariaDB


MariaDB Server is a world-wide popular database server, which is created by the original developers of MySQL. It is highly compatible with applications developed for 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 extra work.

History


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[04][05]


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[06]


InnoDB uses 2PL deadlock detection.

Data Model[07]


Foreign Keys[08]


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

Indexes[09]


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[10]


Joins[11][12]


Logging[13][14]


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

Query Compilation


Query Interface[15][16][17]


Storage Architecture[18]


MariaDB supports different storage architectures with different storage engines.

Storage Model[05][19]


MariaDB supports different storage models with different storage engines.

Stored Procedures[15]


Views[20]


Compatible Systems
TileDB TileDB
Derivative Systems
EdgelessDB EdgelessDB
Embeddings
MonographDB MonographDB

Citations

20 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. MariaDB - Wikipedia wikipedia.org
  4. https://www.xaprb.com/blog/2011/01/29/how-innodb-performs-a-checkpoint xaprb.com Dead — Check Archive
  5. MariaDB Documentation mariadb.com
  6. https://dev.mysql.com/doc/refman/8.0/en/innodb-deadlock-detection.html mysql.com
  7. MariaDB Documentation mariadb.com
  8. Foreign Keys | Server | MariaDB Documentation mariadb.com
  9. MariaDB Documentation mariadb.com
  10. MariaDB Documentation mariadb.com
  11. MariaDB Documentation mariadb.com
  12. MariaDB Documentation mariadb.com
  13. 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
Revision #11 Last Updated: