Maria supports all aspects of
MyISAM, except as noted below. This includes
external and internal check/repair/compressing of rows, different
row formats, different index compress formats, maria_check etc.
After a normal shutdown one can copy
files between servers.
Data and indexes are crash safe. On crash, things will
rollback to state of the start of statement or last
LOCK TABLES commands.
Maria can replay everything from the log.
LOAD INDEX can skip index
blocks for not wanted indexes
MyISAM row formats and the new
transactional format where data is stored in pages.
When using transactional format (default) row data can be cached.
Maria has unit tests of most parts
Supports both crash safe (soon to be transactional) and not
transactional tables. (Not transactional tables are not logged
and rows uses less space.)
CREATE TABLE foo (...)
Transactional is the only crashsafe/transactional row format.
Block format should give a notable speed improvement on systems with bad data caching (for example Windows).
Maria uses big (1GB by default) log files.
Maria has a log control file
maria_log_control) and log files (
maria_log.????????). The log files can be
automatically purged when not needed or purged on demand
Maria uses by default 8K pages for indexes
should be faster on static size indexes but slower on variable
length keys (until we add a directory to index pages).
MyISAM), that will be fixed in
Maria 1.0 has one writer or many readers.
MyISAM can have one inserter and many
readers when using concurrent inserts.)
Storage of very small rows (< 25 bytes) is not efficient
there is an overhead of 10 bytes/page and 5 bytes/row.
Transaction and multiple concurrent writer support will use an
additional overhead of 7 bytes for new rows, 14 bytes for
deleted rows and 0 bytes for old compacted rows.
Maria doesn't support
maria_page_buffer_size system variable
that controls the
Maria page cache size is
not dynamically settable like the corresponding
Differences that are not likely to be fixed
No external locking (
MyISAM has external
locking, but it is not much used).
Maria has one page size for both index and
data (defined when
Maria is used first
MyISAM supports different page sizes
Index requires one extra byte per index page.
Maria doesn't support RAID (disabled in
Minimum data file size for
PAGE format is
16K (with 8K pages).