In the MySQL team, we are changing the system tables currently located in themysqlschema from MyISAM to InnoDB.
Looking at this historically:
Unlike MyISAM, InnoDB is an ACID compliant storage engine, with the behaviour that once a transaction commits, modifications are able to survive power-loss or other failures. This is a solid foundation to build applications on, since developers will need to handle fewer failures. To use an example:
Without durability, (2) could occur with no record of (1) occurring!Durabilityis a great feature. However, we do not currently offer this for the system tables which use MyISAM. To use an example:
By switching to InnoDB we are improving the experience of system-related tasks by ensuring durability that ACID provides.
This change will have the effect that InnoDB will be required for all MySQL installations, and the configuration setting--skip-innodbwill no longer make sense. Users will still be able to use the MyISAM storage engine, and MyISAM-heavy installations can continue to configure the InnoDB buffer pool toas low as 5MB- taking up very little memory.
This is a great step forward for MySQL, and I am personally very excited to see this change. Many in the MySQL community have been requesting this change for years, and we're happy to now be working on it. If you have any thoughts, please leave a comment, oremail me!