当前位置:Gxlcms > mysql > MySQLtoAdoptACIDforSystemTables_MySQL

MySQLtoAdoptACIDforSystemTables_MySQL

时间:2021-07-01 10:21:17 帮助过:16人阅读

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 thatthe MySQL team intends to use InnoDB for system tables.

MyISAMis the original storage engine for MySQL. It is based on IBM’s mainframe database technology known as Indexed Sequential Access Method orISAM. 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 isInnoDB, 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 MySQLstill 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 forkMariaDBhas instead chosen to be fully agnostic.

As far as release dates are concerned, Morgan writes,

The DMR 'release train' model requires for features to be stable before being merged, rather than releases holding for specific features. So I don't want to get ahead of myself here for work that is in early development. Soon :D

人气教程排行