While the development world continues to be spellbound by NoSQL revolutions, the decidedly SQL-based MySQL hasn’t stood still. Today, Oracle announced the release of MySQL 5.6, which includes numerous speedups, and a new take on the NoSQL model based on Memcached.
Tomas Ulin, vice president of MySQL engineering at Oracle, said that there are a number of major optimizations included in 5.6. Queries should run faster for many types of workloads, for instance.
Ulin said there should be “better query execution times and better diagnostics. We have sub-query optimizations. We’ve rewritten how we handle sub-queries. There’s really no new features there, just faster execution.”
Those optimizations extend down into InnoDB, as well, where the MySQL team has added index condition pushdown optimizations. These optimizations allow the MySQL server to hand off some data conditions to the storage engine, allowing said engine to match conditions before reading in an entire row of data. Using these optimizations, InnoDB (MySQL’s default storage engine) shouldn’t have to do as many reads when doing a row retrieval.
Elsewhere in this release, Ulin said a lot of work has been done to increase transparency when troubleshooting database problems. The team at Oracle, he said, has added optimized traces and query execution plans. InnoDB has also been optimized, and through this work, MySQL 5.6 can support up to 48 cores.
“We can now handle much more concurrent load without getting congestion, which means we can scale out with more cores,” said Ulin. “We now have linear scalability to 48 cores on both read and write loads. The transactional throughput has improved three times in the scale-out scenario. What this really means is that MySQL can now utilize the modern hardware.”
InnoDB has also added full text search capabilities.
Perhaps the most interesting new addition to MySQL 5.6 is the inclusion of NoSQL-like capabilities, created through the addition of Memcached. “We announced a year ago we were adding the Memcached API to access and update data in InnoDB,” said Ulin. “We can join the best of both worlds in the SQL/NoSQL discussion. We think we can make it much easier to gain the benefits of NoSQL-type access. We give you a flexible, powerful language to go through your data. We’ve observed up to nine-times improvements using the NoSQL interface.”