In this article, we will take a closer look to the new, upcoming version of the MySQL software - MySQL 6 and present you with all the innovations it will bring. Scroll down to check it out!
In today's Internet world, each website strives to be as dynamic and content rich as possible, which is why almost every site is connected to a database. And when one mentions database, the word MySQL is the first thing which comes to mind. This lightweight, open source database software has, since its release back in 1995, quickly gained the love and support of almost everybody out there due to its simplicity of use and its easy integration with programming languages. The popularity of the language has lead to its eventual acquisition by Sun Microsystems, which can only speak for the quality of the product.
The MySQL Team is constantly working on improving the software in order to allow more possibilities for the user, to enhance the functionality and to fix any problems with the current version. And since MySQL 5 has been around for about 3 years now, we are nearing the release of the new version, MySQL 6, which will boost several important improvements.
Before starting this preview, I would like to specify that at this very moment the current stable version of MySQL is MySQL 5.1 and that this is the General Availability release. MySQL 6.0 releases are development releases and not final ones, so if you are planning to install MySQL on your machine, it's advised that you choose MySQL 5.1, which is also the MySQL version installed on our web hosting servers. With this behind us, here is a short list of what will be introduced in the 6th revision of the MySQL software.
One of the great innovations is the new Falcon storage engine. This engine is specially designed to work with multi-core CPUs and larger memory architectures. It's designed to work with 64-bit environments using the advantages of the newer architecture. This has allowed several innovations:
In the 6.0 version of the MySQL software, another important function is the Database_Backup and Restore statements. Again, the aim is to minimize table locking during backups and restores. Another improvement is that the backups will be generated regardless of the storage engine used.
Another much needed addition is the support for more Unicode character sets, such as utf16, utf32, and the 4-byte utf8. This adds more flexibility to the MySQL software, allowing more and more variable information to be stored in the databases.
There have been also several optimizations and enhancements to allow faster sub queries and joins.
Another improvement is the updated syntax for the LOCK_TABLES statement. Support for transactional table locks, which do not commit the transactions automatically, has been added. Now, when using LOCK_TABLES ...IN SHARE MODE or ...IN EXCLUSIVE MODE, tables that are not specified in the LOCK_TABLES statement can be accessed. Additionally, when statements with transactional locks are now issued, additional tables can be added to the locked set without unlocking previously locked ones. When LOCK_TABLES is used ...IN SHARE MODE or ...IN EXCLUSIVE MODE, the locked tables will remain locked until the end of the transaction.
For READ or WRITE locks, the way LOCK_TABLES behaves is unchanged.
Here is a general idea of how the LOCK_TABLES statement works:
The XML functionality has also been improved and in order to enhance it even further, a new statement - LOAD_XML, has been added, which is designed to read data from an XML fire directly into a table. LOAD_XML will act as a complement to the MySQL client, when run in XML output mode and when the client is started with “- -xml” from the command shell.
The statement will support 3 XML formats:
When the attributes are column names and the attribute values are column values:
<row column1="value1" column2="value2" .../>When the tags are column names and the content of the tags is the column value:
<row>The name attributes of the <field> tags are the column names and the content of these tags are the values:
<row>The last format is also used by other MySQL tools, for example the "mysqldump".
All of the 3 formats can be used within the same XML file - the import procedure will automatically detect the format for each row and read it correctly. Tags will be matched with the tag or attribute name and the column name.
Last, but not least, support for extended comments for tables, columns and indexes, has been added to the new version.
With the release of a new software version, there are always some parts, which are removed or replaced. The reason for this can vary from improved functionality to security issues. The 6th revision of the MySQL software makes no exception to this rule. Here is a list of constructs, which are now labeled deprecated and removed from the MySQL core:
Resources: