MariaDB/Introduction

What is MariaDB? edit

MariaDB is a fork of MySQL. MySQL is the world's most popular RDBMS; for information about its history, see the official documentation or the MySQL Wikibook.

In 2008 Sun Microsystems bought MySQL. After the acquisition, the development process has changed. The team has started to release new MySQL versions less frequently, so the new code is less tested. There were also less contributions from the community.

In 2009 Monty Widenius, the founder of MySQL, left the company and created a new one, called The Monty Program. He started a new fork called MariaDB.

When Oracle announced the acquisition of Sun Microsystems (and thus MySQL software), most of the MySQL developers left Sun to join its forks: MariaDB and Drizzle.

The scopes of MariaDB are:

  • import all the new code that will be added to the main MySQL branch, but enhancing it to make it more stable;
  • clean the MySQL code;
  • add contributions from the community (new plugins, new features);
  • develop the Maria storage engine;
  • adding new features to the server.

Many of the improvements to the code have been written by third parties. The Monty Programs wants to keep open the development process. Its resources are not competitive with other big companies, but it benefits from the community's work. Most of the improvements are imported from Percona's patches, which are included in OurDelta MySQL builds.

Percona also provides packages for some GNU/Linux distributions.

Differences between MariaDB and MySQL edit

This section tries to list the most important MariaDB unique features.

Storage engines edit

The following Storage Engines are included by default in MariaDB and not in MySQL:

  • XtraDB - A fully-compatible fork of InnoDB, mantained by Percona
  • Aria - A more modern MyISAM, also used for internal tables
  • TokuDB - A transactional engine with innovative buffers and high compression
  • Mroonga - Supports fulltext searches with Chinese, Japanese and Korean languages
  • SPIDER - Shards tables through multiple servers
  • OQGRAPH - Used to implement tree structures
  • Sequence - Returns a sequence of numbers as a resultset
  • CONNECT - Support several external data sources (data files, DBMS's...)
  • CassandraSE - A bridge to Apache Cassandra
  • SphinxSE - A bridge to Sphinx
  • FederatedX - A richer fork of Federated

Obsolete storage engines:

  • PBXT - A transactional engine which aimed to be "somewhere between InnoDB and MyISAM"

Others may be added in the future.

Why MariaDB? edit

  • Free as in Freedom - Released with GPL version 2 license (inherited from MySQL)
  • Cost - Free!
  • Support - MySQL has online tutorials, forums, mailing list (lists.mysql.com), paid support contracts; more MariaDB-specific sites / services are expected to come.
  • Open - contributions and suggestions from the community are welcome.
  • Speed - One of the fastest databases available; probably faster than MySQL.
  • Functionality - support for all the MySQL features, plus others developed by the community.
  • Ease of use - the syntax is flexable and managing a database is pretty simple.
  • Portability - easily import / export from CSV and XML.
  • Scalable - Useful for both small as well as large databases containing billions of records and terabytes of data in hundreds of thousands of tables.
  • Plugins - Some Storage Engines and other plugins are pre-installed in MariaDB (and not in MySQL); you can get support for them.

Resources edit

Docs edit

Official sites and documentation.

Obsolete docs edit

Blogs edit

Blogs of some MariaDB developers and blogs about MariaDB.

People edit

User groups and other people.

Misc edit