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.
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".
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.
Two-Phase Locking (Deadlock Detection)
InnoDB uses 2PL deadlock detection.
MariaDB requires foreign keys to be checked that some integrity rules are enforced.
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
Logical Logging Physical Logging
Physical logging is called binary logging in MariaDB, while logical logging is called general query logging.
MariaDB supports different storage architectures with different storage engines.
Decomposition Storage Model (Columnar) N-ary Storage Model (Row/Record)
MariaDB supports different storage models with different storage engines.
C, C#, C++, Java, Perl, PHP, Ruby, SQL