NoSQL technologies are getting a lot of attention these days, so it's no surprise that Tomas Ulin, VP, MySQL Engineering, is quick to point out that the open source MySQL database has offered options for direct, NoSQL access to data since 2004. That's in addition to standard SQL access and querying, of course.
"There's going to be part of your application where rapid development and a schema-less approach makes sense, and then there's going to be other parts of your application where you need SQL, you need structure and you need to be able to write complex queries without having to program it yourself," Ulin told InformationWeek. "With MySQL, we've shown that we can give you both."
[ Want more on open source wars in the big data arena? Read Oracle MySQL Upgrade Challenges NoSQL Onslaught. ]
As for that must-have foreign-key support, that's been on the Cluster Edition wish list for years, Ulin admitted. InnoDB, the default storage engine or MySQL 5.6 (the standard MySQL server product), already supports foreign keys, but the lack of this feature has held back the MySQL Cluster edition.
"Foreign key support enables you to maintain consistency in relationships across multiple tables," Ulin explained.
Lots of applications have foreign key dependency, and support ensures that related data properties are preserved. In a human resources application, for example, one table might be used for employees and another for all the valid departments within the company. When you add a new worker to the employee table, a foreign key relationship verifies that the department listed for that employee actually exists in the department table.
Finally, the nice-to-have introduced with MySQL Cluster 7.3 is an auto installer that makes it much easier to install and configure the clustered database across multiple nodes, according to Ulin. You point the installer at the intended host computers and it automatically detects how many cores and how much RAM is available.
"Many parameters have to be set when you deploy, and you previously had to iterate through the settings on every cluster," said Ulin. "The auto installer will suggest configurations based on best practices developed through the years, and if you're happy with those you can stick with the auto suggestions."
Adding one more NoSQL connector to MySQL may not change many minds about the need for highly scalable NoSQL options such as Cassandra, Couchbase and Riak. But Ulin insists MySQL Cluster 7.3 has a strong case on scalability.
"MySQL Cluster offers transparent sharding, high performance, you can just add more data nodes to make it scale and you don't have to bother about scaling in your application," Ulin said. "In the end, as applications mature, you're going to want to do complex queries with SQL at some point, so our story is a good one."