Aria is a
storage engine
A database engine (or storage engine) is the underlying software component that a database management system (DBMS) uses to create, read, update and delete (CRUD) data from a database. Most database management systems include their own application ...
for the
MariaDB
MariaDB is a community-developed, commercially supported Fork (software development), fork of the MySQL relational database management system (RDBMS), intended to remain free and open-source software under the GNU General Public License. Developm ...
and
MySQL
MySQL () is an Open-source software, open-source relational database management system (RDBMS). Its name is a combination of "My", the name of co-founder Michael Widenius's daughter My, and "SQL", the acronym for Structured Query Language. A rel ...
relational database management system
A relational database (RDB) is a database based on the relational model of data, as proposed by E. F. Codd in 1970.
A Relational Database Management System (RDBMS) is a type of database management system that stores data in a structured for ...
s. Its goal is to make a crash-safe alternative to
MyISAM. It is not
transactional.
Aria 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
MariaDB is a community-developed, commercially supported Fork (software development), fork of the MySQL relational database management system (RDBMS), intended to remain free and open-source software under the GNU General Public License. Developm ...
, a community-developed branch of the MySQL database led by Widenius. Aria is not shipped with MySQL or
Percona Server.
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 key
A foreign key is a set of attributes in a table that refers to the primary key of another table, linking these two tables. In the context of relational databases, a foreign key is subject to an inclusion dependency constraint that the tuples ...
s and, currently, transactions.
Aria supports:
*
Fulltext indexes;
*
OpenGIS data types;
*
Virtual columns.
Files structure
Non-partitioned Aria tables consist of three physical files:
* table_name.frm
* table_name.MAD
* table_name.MAI
The .frm file contains the table definition (this file exists for all storage engines which write data to disk). The .MAD file contains the data. The .MAI file contains the indexes.
Formats
Three table formats are available for Aria tables:
* PAGE;
* FIXED;
* DYNAMIC.
PAGE is the only format available for "transactional" tables. It makes Aria tables crash-safe.
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.
See also
*
Falcon
Falcons () are birds of prey in the genus ''Falco'', which includes about 40 species. Some small species of falcons with long, narrow wings are called hobbies, and some that hover while hunting are called kestrels. Falcons are widely distrib ...
*
InnoDB
*
MyISAM
*
XtraDB
References
External links
Aria in the MariaDB KnowledgeBase- written by
Michael Widenius
Ulf Michael Widenius (born 3 March 1962), also known as Monty, is a Finnish software programmer. He is the main author of the original version of the open source MySQL database, a founding member of the MySQL AB company, founding member of the ...
(founder of MySQL AB)
Maria: The new MySQL Storage Engineat
Google Videos - A talk given by Michael Widenius
Database engines
MySQL
MariaDB
Software using the GNU General Public License
Free software programmed in C++
{{Free-software-stub