Wednesday, February 13, 2008

Maria Engine Will Rock...

Maria Preview i's a big step from mysql AB before sun Acquisition, when MySQL going forward to enhance their engines.

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, all MyISAM row formats and a new Maria specific row format.

So we'll say goodbye for crashed tables finally !!!.

what the most interesting thing in this engine that Maria Engine support transactional | non-transactioal data, which means that Maria engine can merge both MyISAM and InnoDB Engine.

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.
  • maria_log.???????? — the Maria log file.
  • maria_log_control — a control file that holds information about the current state of the Maria engine.

maria log 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.


How Maria Engine Different from MyISAM Engine:

  • 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.
  • Maria supports auto-recovery in the event of a crash.
  • Maria supports a single writer and multiple readers. The writer supports both INSERT and UPDATE operations. MyISAM supports only concurrent INSERT and SELECT statements.
  • Maria provides a new row format, PAGE.
  • Maria supports crash-safe operations over many statements by enclosing statements within LOCK TABLES and UNLOCK TABLES statements.

So as we can predict easily a very success future for this Engine if it treated carefully, this Engine is still in Alpha version, and you can find it with MySQL 5.1 binaries and rpms. for more details on this pretty engine found here:

http://dev.mysql.com/doc/refman/5.1-maria/en/se-maria.html