MySQL Cluster 7.3 Introduces Foreign Key Support

Oracle announced the general availability of MySQL Cluster 7.3, which adds foreign key support, a new NoSQL JavaScript Connector for node.js, and an auto-installer to make setting up clusters easier. MySQL Cluster is an open source, auto-sharded, real-time, ACID-compliant transactional database with no single point of failure, designed for advanced web, cloud, social and mobile applications.

MySQL Cluster has always been very driven by customer demand, Tomas Ulin, vice president of MySQL Engineering at Oracle, tells 5 Minute Briefing. Unlike the MySQL standard and enterprise editions, customers using cluster are fewer in numbers but more high-profile, and rely on cluster for its low latency, high performance and scalability, he adds.

The top new capability in the new release is foreign key support, which simplifies application logic and strengthens data models by automatically enforcing referential integrity between different tables located on different shards, different nodes, or in different data centers. “Foreign key support has been a longstanding feature request from day-one nine years ago,” says Ulin. “It brings more advanced relational database management capabilities into Cluster.”

In addition, a new browser-based MySQL Cluster auto-installer enables DevOps teams to graphically configure and provision a production-grade cluster in minutes, automatically tuned for their workload and environment, directly from their browser. “Setting up a cluster is not easy,” says Ulin. The new auto-installer suggests setups using best practices that have been collected over the years and will help users avoid a lot of trial and error. “We are hoping to attract even more users by making it easier to set up and get going with Cluster. I think it is going to be very important.”

Another key enhancement in the new release is the addition of the NoSQL JavaScript Connector for node.js which simplifies development re-using JavaScript from the client to the server, all the way through to the database. “We know that today a lot of web development is being done in JavaScripts and you can always use a SQL database together with JavaScript; there is no problem with that. You can use SQL as the language to store and retrieve data. But there is this additional step that some users view as something they don’t want to deal with. They would rather go with something that takes their JavaScript objects and persists them and retrieves them directly without their having to think about SQL and now we provide them with that option. We are going to be able to attract and retain a lot of web developers,” says Ulin. “It is going to be so much easier to access and retrieve data through JavaScripts.”

Finally, native integration with the MySQL 5.6 Server enables developers to combine the InnoDB and MySQL Cluster storage engines within a single MySQL 5.6-based application.

“Cluster is a very performant system, has real-time capabilities, online scaling capabilities – all the NoSQL properties that you expect,” says Ulin.  “We really want to make sure that everyone understands that this is a very very viable option for those that are looking at a NoSQL database. Cluster is definitely a NoSQL database. And has been a NoSQL database from day-one. We want t make sure everybody knows that this is the case.”

A MySQL Cluster 7.3: New Features Whitepaper is available from Oracle.