Edge Rewrite
// HTMLRewriter · presentation

This page was redesigned at the edge.

Cloudflare fetched the original article and streamed it through HTMLRewriter to apply an entirely new visual system without rebuilding the source page.

Jump to content

Aria (storage engine)

From Wikipedia, the free encyclopedia
(Redirected from Maria (storage engine))
Aria
Original authorAskMonty.org
DevelopersMariaDB Foundation, MariaDB plc
Stable release
1.5
Preview release
All
Written inC++
PlatformAll
TypeDatabase engine
LicenseGNU GPLv2
Websitemariadb.com/docs/server/server-usage/storage-engines/aria

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 transactional.[1]

Aria has been in development since 2007 and was first announced by Michael "Monty" Widenius on his blog.[2] Aria is used for internal temporary tables and, since MariaDB 10.4, internal system tables in MariaDB.[3] Aria is not shipped with MySQL or Percona Server.

Aria was initially named "Maria", as a reference to Monty's youngest child.[4] It was renamed Aria in 2010 to avoid confusion with the main database it is developed for, MariaDB.[5] Chris Tooley, who won a contest to suggest the name, wrote, "Aria is Maria without the 'M'; also it is a pleasant musical term."[6]

Features

[edit]

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 was originally conceived as a crash-safe, and eventually fully transactional, replacement for MyISAM and default storage engine for both MariaDB and MySQL.[1] Development has proceeded in phases: the current release, Aria 1.5, provides crash safety without full transactions, while a fully transactional Aria 2.0 — intended to match major InnoDB features such as ACID compliance and row-level locking — remains on hold.[1] Tables can be created with the TRANSACTIONAL option, which makes them crash-safe and atomic but not transactional in the strict sense, since changes cannot be undone with the ROLLBACK command.[1]

Aria supports:

Files structure

[edit]

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

[edit]

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

[edit]

References

[edit]
  1. 1 2 3 4 "Aria FAQ". MariaDB Documentation. Retrieved 2026-07-23.
  2. Aria – AskMonty KnowledgeBase Archived May 31, 2009, at the Wayback Machine
  3. Insausti, Sebastian (2020-07-07). "Using the Aria Storage Engine with MariaDB Server". Severalnines. Retrieved 2026-07-23.
  4. "Aria FAQ - AskMonty KnowledgeBase". Archived from the original on 2010-08-22. Retrieved 2010-11-10.
  5. "Rename Maria". askmonty.org. Archived from the original on 2010-05-03. Retrieved 2011-05-19.
  6. "Rename Maria Contest Winner!". GNOME Blogs. Archived from the original on 2010-07-23. Retrieved 2018-01-21.
[edit]