Oracle is updating its widely used open source MySQL database, and a range of associated products, in order to meet the increasing demands of web users.
In the past decade "the web has transitioned from just serving Web pages to actually providing critical services," said Tomas Ulin, Oracle vice president of MySQL engineering. "You expect your email to always be available, for your Facebook account to always be available. Ten years ago, it was acceptable to hit reload on your browser. Now you expect your page to come up immediately."
For its first MySQL Connect conference, held over the weekend in San Francisco, Oracle has released a number of updates to its line of MySQL technologies. It has posted a release candidate (RC) for the next version of the database, MySQL 5.6, as well as a developer milestone of the next version of MySQL that runs across multiple servers, MySQL Cluster 7.3. It has also updated its MySQL Enterprise package for commercial clients. All these updates feature new technologies designed to boost database readiness.
The MySQL 5.6 RC offers a nearly complete version of MySQL 5.6, which will probably be released in its final state within the next few months. This version comes with a number of significant features. Through the use of the Memcached API (application programming interface), MySQL can now offer a speedy way to store and retrieve database entries, one that should rival the performance of NoSQL databases.
"We can get really good performant NoSQL access whilst having the strength and power of SQL. We think that is a unique offering," Ulin said.
Oracle also worked at making MySQL faster. The MySQL Optimizer has new techniques of selecting, sorting and returning results in a more efficient way. The underlying InnoDB storage engine has been refactored to handle concurrency better, which will make MySQL more suitable for heavily loaded OLTP (Online Transaction Processing) systems and read-only workloads. InnoDB also features full-text search, which should speed searches for words and phrases.
Another new feature that should please heavy users of MySQL is the new ability to execute DDL (Data Definition Language) operations without taking offline the database tables being changed. "If you want to alter your schema, add or drop a column to your schema, or rename a column, you typically had to bring down the database, alter it and bring it up," Ulin said. "With online DDL, you don't have to think about that. The table will be available through that period."
In addition to the MySQL 5.6 release candidate, Oracle also updated a number of related MySQL products.
The company has released the first Development Milestone Release (DMR) of MySQL Cluster 7.3, a version of the database for running a database across multiple servers. A DMR release has finalised a subset of features that will appear in the final release.
This DMR introduces native support for foreign keys. Long part of the SQL standard, foreign keys allow cross indexing of tables. Due to various architecture constraints in the clustered architecture, MySQL Cluster has not offered foreign keys, which left the work of tying together database tables to the application layer. Support for foreign keys should reduce the workload of the application developer, as well as provide a more foolproof method of securing database access to appropriate users.
"We know a lot of customers wouldn't consider a cluster without foreign keys," Ulin said. "It also adds a level of assurance when developing a program."
MySQL Cluster 7.3 also features a new installer that can optimise workloads and automatically discover resources offered by the servers, such as the CPU architecture and the number of processor cores per machine.
Oracle has also updated its commercial version of the database, MySQL Enterprise Edition, with two new extensions. The software now provides the ability to provide reports for auditing and compliance. This extension offers policy-based monitoring and logging of all actions on a database. The second extension provides high availability (HA) safeguards, including automatic failover and replication.
The extension are available at no cost as part of MySQL Enterprise Edition and MySQL Cluster Carrier Grade Edition.