The on-demand webinar for the MySQL Cluster 7.3 Development Release is now available.
You can learn more about the design, implementation and getting started with all of the new MySQL Cluster 7.3 features from the comfort and convenience of your own device, including:
- Foreign Key constraints in MySQL Cluster
- Node.js NoSQL API
- Auto-installation of higher performance distributed, clusters
We received some great questions over the course of the webinar, and I wanted to share those for the benefit of a broader audience.
Q. What Foreign Key actions are supported:
A. The core referential actions defined in the SQL:2003 standard are implemented:
Q. Where are Foreign Keys implemented, ie data nodes or SQL nodes?
A. They are implemented in the data nodes, therefore can be enforced for both the SQL and NoSQL APIs
Q. Are they compatible with the InnoDB Foreign Key implementation?
A. Yes, with the following exceptions:
- InnoDB doesn’t support “No Action” constraints, MySQL Cluster does
- You can choose to suspend FK constraint enforcement with InnoDB using the FOREIGN_KEY_CHECKS parameter; at the moment, MySQL Cluster ignores that parameter.
- You cannot set up FKs between 2 tables where one is stored using MySQL Cluster and the other InnoDB.
- You cannot change primary keys through the NDB API which means that the MySQL Server actually has to simulate such operations by deleting and re-adding the row. If the PK in the parent table has a FK constraint on it then this causes non-ideal behaviour. With Restrict or No Action constraints, the change will result in an error. With Cascaded constraints, you’d want the rows in the child table to be updated with the new FK value but, the implicit delete of the row from the parent table would remove the associated rows from the child table and the subsequent implicit insert into the parent wouldn’t reinstate the child rows. For this reason, an attempt to add an ON UPDATE CASCADE where the parent column is a primary key will be rejected.
Q. Does adding or dropping Foreign Keys cause downtime due to a schema change?
A. Nope, this is an online operation. MySQL Cluster supports a number of on-line schema changes, ie adding and dropping indexes, adding columns, etc.
Q. Where can I see an example of node.js with MySQL Cluster?
A. Check out the tutorial and download the code from GitHub
Q. Can I use the auto-installer to support remote deployments? How about setting up MySQL Cluster 7.2?
A. Yes to both!
Q. Can I get a demo
Check out the tutorial. You can download the code from http://labs.mysql.com/ Go to Select Build drop-down box
Q. What is be minimum internet speen required for Geo distributed cluster with synchronous replication?
A. if you're splitting you cluster between sites then we recommend a network latency of 20ms or less. Alternatively, use MySQL asynchronous replication where the latency of your WAN doesn't impact the latency of your reads/writes.
Q. Where you can one learn more about the PayPal project with MySQL Cluster?
A. Take a look at the following - you'll find press coverage, a video and slides from their keynote presentation
So, if you want to learn more, listen to the new MySQL Cluster 7.3 on-demand webinar
MySQL Cluster 7.3 is still in the development phase, so it would be great to get your feedback on these new features, and things you want to see!