Wednesday, September 14, 2016

MySQL Reaches Milestone 8 Release

There's a major new release of MySQL with improvements including a transactional data dictionary.

This is a development milestone release, for use at developers own risk. In MySQL terms, milestone releases mean that significant development changes have taken place and you may encounter compatibility issues.

The new version is MySQL 8.0.0. If you're wondering why there's a jump from 5.7 (the previous stable release) to 8.0.0, the answer is that version 6 was cancelled and version 7 is the Cluster version.

One of the main improvements to the new version is support for a transactional data dictionary. This is implemented as a set of SQL tables stored in InnoDB, and has been mostly implemented in this  DMR. The implementation means that DDL statements become atomic and crash safe and reliability is increased. MyISAM is now in principle optional as all system tables have been moved from MyISAM to InnoDB.

The new version also implements standard SQL Roles for the first time. A role is a named collection of privileges that can be granted to specific users.  The developers have also provided a SQL function that returns a graphml document representing role subgraphs. Writing about the new version on the MySQL blog, Geir Hoydalsvik said:

"In the future, we expect to utilize “system roles” when breaking up the super privilege into finer grained components."

Support for invisible indexes been added to the new version.  An invisible index is not considered by the optimizer when it makes the query execution plan, but because the index is still maintained in the background, it is cheap to make it visible again.

Explaining the new feature on the blog, Hoydalsvik said:

"The purpose of this is for a DBA / DevOp to determine if an index can be dropped. If you suspect an index of not being used you first make it invisible, then monitor query performance, and finally remove the index if no query slow down is experienced. This feature has been asked for by many users, for example Dropbox."

Other improvements include an extension of the bit-wise operations to include the option of using them on binary data types, IPV6 and UUID manipulation; the addition of Set Persist for global variables so you can persist global, dynamic server variables, and have the setting survive a server restart.

The Performance Schema has been improved, with the ability to look at aggregated counts of error messages reported by the server, and faster schema queries through the addition of 100 predefined indexes on performance schema tables.

The blog post about the new release includes details of all the other improvements, and a deep dive into the transactional data dictionary.

Courtesy : Techgig

No comments:

Post a Comment