Aria (storage engine)


Aria is a storage engine for the MariaDB and MySQL relational database management systems. Its goal is to make a crash-safe alternative to MyISAM. It is not yet transactional but plans to add proper support for database transactions at some point in the future. The long-term goal is for Aria to be the default transactional and non-transactional storage engine for MariaDB. It has been in development since 2007 and was first announced by Michael "Monty" Widenius on his blog. Aria is used for internal temporary tables in MariaDB, a community-developed branch of the MySQL database led by Widenius. Aria is not shipped with MySQL or Percona Server, but is included in the TokuDB release of MariaDB.
The Maria project is hosted on Launchpad.
Aria was initially named "Maria", as a reference to Monty's youngest child.
It was renamed Aria in 2010 to avoid confusion with the main database it is developed for, MariaDB. Chris Tooley, who won a contest to suggest the name, wrote, "Aria is Maria without the 'M'; also it is a pleasant musical term."

Features

Aria is very similar to MyISAM, but its purpose is to be a crash-safe alternative to MyISAM.
Aria does not support foreign keys and, currently, transactions.
Aria supports:
Non-partitioned Aria tables consist of three physical files:
The.frm file contains the table definition. The.MAD file contains the data. The.MAI file contains the indexes.

Formats

Three table formats are available for Aria tables:
PAGE is the only format available for transactional tables.
FIXED and DYNAMIC are the same formats used by MyISAM, and have been mainly implemented for compatibility. However, MyISAM's COMPRESSED format is not available in Aria.
In order to set the table format, one can use the ROW_FORMAT option in a CREATE TABLE or ALTER TABLE command.