[+/-]
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.