All this and faster performance, too
Following more than 12 months of development and preview releases, Oracle has announced general availability of MySQL Cluster 7.3, bringing a number of important new features and enhancements to the open source clustering add-on for the MySQL database.
The really big news, according to a press release issued on Tuesday, is the long-awaited inclusion of support for foreign key constraints, which had been one of the most requested feature enhancements for the product.
MySQL Cluster differs from its more powerful cousin, Oracle Real Application Clusters (RAC), in that it uses a "shared nothing" architecture, where none of the nodes share memory or disk storage. In this sense, its design is closer to how IBM DB2 handles clustering than to RAC.
With MySQL Cluster 7.3, the system can now automatically enforce foreign key referential integrity between tables, regardless of whether they are located in different nodes, different shards (partitions), or even in different data centers.
Foreign key support is also available whether the application accesses the database via SQL or via one of the various non-SQL APIs that are available, such as Java, Memcached, or HTTP/REST.
The new version's SQL layer is now based on the latest MySQL 5.6 release, which allows database admins to combine the InnoDB and MySQL Cluster storage engines side-by-side on the same MySQL 5.6 server.
Even those users who aren't interested in the new features might want to upgrade, however, as version 7.3 reportedly delivers between 1.5 and 7.5 times more data throughput to cluster nodes. It does this in a way that is completely transparent to applications, meaning admins should see their applications' performance improve as soon as they upgrade to version 7.3.
Setting up new clusters is also easier than ever, thanks to a new auto-installer that allows admins to graphically configure and provision a cluster "within minutes" using a browser-based interface.
The full set of changes from the previous release can be reviewed in the official release notes, available here.
MySQL Cluster is open source software released under the GPLv2 license, and Oracle also offers commercial support along with a number of proprietary add-ons in the form of its MySQL Cluster Carrier Grade Edition (CGE) product.
There are other ways to cluster a MySQL database, however, including ScaleDB and Galera, the latter being a set of patches that bake clustering support into the MySQL server itself. In particular, those who have already migrated from MySQL to the competing MariaDB fork will want to consider one of the above options, as MariaDB does not support MySQL Cluster's NDB storage engine out of the box.
The GPL-licensed version of MySQL Cluster 7.3 is available for download from Oracle's MySQL website as of Tuesday. ®