[+/-]
Maria is a crash safe version of
MyISAM. The Maria storage
engine supports all of the main functionality of the
MyISAM engine, but includes recovery support (in
the event of a system crash), full logging (including
CREATE, DROP,
RENAME and
TRUNCATE operations), all
MyISAM row formats and a new
Maria specific row format.
Maria has been designed as a replacement for the
MyISAM storage engine, supporting the speed and
flexibility of the original MyISAM
implementation, in combination with MVCC transaction support. Within
the current release, a limited level of concurrency for
INSERT/UPDATE
and SELECT functionality is
supported. For more information, see
Section 13.5.6, “Maria Statement Concurrency”.
For more information on known bugs and limitations in
Maria, see Section 13.5.9, “Maria Open Bugs”
To create a Maria table you must specify the
engine when using the CREATE TABLE
statement:
mysql> CREATE TABLE maria_table (id int) ENGINE=Maria;
You can also use ALTER TABLE to
convert an existing table to the Maria engine:
mysql> ALTER TABLE myisam_table ENGINE=Maria;
Data in Maria tables is stored in three files:
table.frm — the standard MySQL FRM
file containing the table definition.
table.MAD — the
Maria data file.
table.MAI — the
Maria index file.
In addition, Maria creates at least two
additional files in your standard datadir
directory:
maria_log.???????? — the
Maria log file. Each file is named
numerically and sequentially, with new files automatically
created when the log file limit has been reached. You can
control the log file size using
maria_log_file_size
option, and control the deletion of logs using
maria_log_purge_type.
The newly created files stay in place until deleted either
automatically or manually.
maria_log_control — a control file
that holds information about the current state of the
Maria engine.
You should not delete the
maria_log_control file from an active
Maria installation as it records
information about the current state of the
Maria engine, including information about
the log files and the default page block size used for the log
and data files.
The basic functionality of Maria matches the
functionality of MyISAM with a number of
differences. These are:
Two types of tables are supported. Non-crash safe tables
(non-transactional) are written immediately to their
corresponding data file. Transactional tables are crash safe and
data is written into the Maria log. For more
information on the log, see Section 13.5.3, “Maria Transaction Log”. Data
which had already been written to the log is then applied to the
data and index files as the statement completes.
Maria supports auto-recovery in the event of
a crash. For more information, see
Section 13.5.4, “Maria Recovery”.
Maria supports a single writer and multiple
readers. The writer supports both
INSERT and
UPDATE operations.
MyISAM supports only concurrent
INSERT and
SELECT statements. For more
information, see Section 13.5.6, “Maria Statement Concurrency”.
Maria provides a new row format,
PAGE. For more information, see
Section 13.5.2, “Maria Table Options”. Existing
MyISAM row formats are also supported on
non-transactional tables.
Maria supports crash-safe operations over
many statements by enclosing statements within
LOCK TABLES and
UNLOCK
TABLES statements.

User Comments
Add your own comment.