In what is probably a surprise to many developers, MySQL currently stores its critical system tables in MyISAM instead of InnoDB. Since MyISAM isn’t ACID compliant, there is a chance for data loss or corruption when modifying system objects such as privilege. Morgan Tocker has announced that the MySQL team intends to use InnoDB for system tables.

MyISAM is the original storage engine for MySQL. It is based on IBM’s mainframe database technology known as Indexed Sequential Access Method or ISAM. Because it doesn’t support transactions and the associated overhead, MyISAM tends to be faster than other database storage engines. The downside of this is that it isn’t ACID compliant and is prone to data corruption, especially during power failure scenarios.

The primary alternative to MyIASM is InnoDB, which was created by the Innobase Oy. Because it offers ACID-compliant transactions and foreign key constraints, among other features, Oracle made it the default storage engine in MySQL 5.5.

Other storage engines for MySQL still in active development include:

Archive by Oracle

Aria by Monty Program

CONNECT by Monty Program

CSV by Oracle

NDB by Oracle

InfiniDB by Calpont

TokuDB by TokuTek

XtraDB by Percona GPL

FederatedX by Monty Program

CassandraSE by Monty Program

sequence by Monty Program

mroonga by Monty Program

While MySQL is planning to support InnoDB only, the fork MariaDB has instead chosen to be fully agnostic.

As far as release dates are concerned, Morgan writes,