Oracle has announced general availability of MySQL 5.6, even as many MySQL users prepare to transition to alternatives such as MariaDB because of what they claim is Oracle's overweening handling of the open source database.
"The new features and enhancements that MySQL 5.6 delivers further demonstrate Oracle's investment in driving MySQL innovation, making MySQL a fantastic fit for today's most demanding Web, Cloud and embedded application requirements," Tomas Ulin, Oracle's VP of MySQL engineering, said in a statement on Tuesday.
Strictly speaking, builds of MySQL 5.6 have been publicly available for some time. In development for nearly two years, the 5.6 code tree has gone through a series of milestone releases, culminating in the build released on Tuesday – version 5.6.10 – which is the first to be deemed ready for production use.
With this release, Oracle has focused on improving the performance, scalability, reliability, and manageability of the database, in addition to adding features designed to make MySQL more competitive with NoSQL-based data stores. But for some customers, those enhancements might not be reason enough to stick with a product that has already strayed from its open source roots.
The new stuff: Faster, more stable, more agile
There's a lot to like in MySQL 5.6. Multiple improvements to the InnoDB storage engine – which was made the default as of MySQL 5.5 – allow MySQL 5.6 to handle transactional and read-only workloads more efficiently and to scale better on systems that support upward of 48 concurrent processor threads. The upshot is that MySQL 5.6 is significantly faster than MySQL 5.5 for most jobs.
MySQL's SQL query optimizer has also been enhanced, resulting in dramatic improvements in execution times for various types of queries. In some cases, Oracle claims users will see significant performance improvements, and that queries that once took days to run will complete in seconds.
Replication, which Oracle says is becoming one of MySQL's most popular features, has also gotten some love. MySQL 5.6 handles replication faster and more reliably than its predecessor, thanks to multiple new optimizations and failsafe features.
But perhaps the most interesting new features in MySQL 5.6 are those designed to make the database more flexible and agile, in ways that traditional SQL admins may find surprising.
MySQL began life as a fast, no-nonsense data store for lightweight workloads and web apps, and has largely been playing catch-up with its more fully-featured RDBMS cousins ever since. But these days it must also compete with NoSQL databases, which have been steadily encroaching on its former high-performance niche. MySQL 5.6 doesn't take the challenge lying down.
One of the claimed advantages of NoSQL databases has been that they are schema-less, so you never need to worry about having to take the database offline when you decide you need to muck around with its schema. But MySQL 5.6 actually allows admins to apply data definition language (DDL) operations to online, live databases, which makes having a schema less burdensome.
In addition, MySQL 5.6 allows NoSQL-style access to InnoDB data via the Memcached API. This means developers can use any of the many existing Memcached clients and libraries to bypass the overhead of query parsing, and grab data as simple key-value pairs, resulting in as much as a 9x performance improvement for SET/INSERT operations.
These are just a few of the major new features in the latest version of MySQL. For a deeper look into what has changed, check the official MySQL blog or the MySQL technical documentation, available here.