MySQL Cluster and Codd’s Rule 11

Posted in: MySQL, Technical Track

Just a small thought to share.

Oracle doesn’t really comply to the rule 11 of Codd’s 12 rules. It does have database links and tables can be grouped in different locations (databases) but it’s not possible to distribute a table transparently across several locations. MySQL Cluster, on the other hand, distributes rows of a table over different data nodes using hash function on the primary key and it’s transparent to the client so it conforms to the Rule 11 as opposed to Oracle.

By the way, if you are interested on MySQL Cluster, keep an eye on Pythian Goodies — one of the last topics was on MySQL Cluster and I believe it should be posted soon.

email
Want to talk with an expert? Schedule a call with our team to get the conversation started.

About the Author

What does it take to be chief technology officer at a company of technology experts? Experience. Imagination. Passion. Alex Gorbachev has all three. He’s played a key role in taking the company global, having set up Pythian’s Asia Pacific operations. Today, the CTO office is an incubator of new services and technologies – a mini-startup inside Pythian. Most recently, Alex built a Big Data Engineering services team and established a Data Science practice. Highly sought after for his deep expertise and interest in emerging trends, Alex routinely speaks at industry events as a member of the OakTable.

6 Comments. Leave new

DB2 DPF does this, too.

I mean, it’d better… Codd worked there!

Reply
William Robertson
February 10, 2007 5:02 am

Does Rule 11 actually require the ability to distribute portions of a table in separate databases in this way? It seems to refer only to “portions of the database” and “various locations”, although to be fair, Dave Ensor’s overview in “Tales of the Oak Table” takes it to mean something similar. As ever, it’s a sketchy definition that leaves you wondering exactly what Codd had in mind. Presumably he wrote more about the subject than twelve vaguely defined rules.
https://en.wikipedia.org/wiki/Codd%27s_12_rules

Reply

Ehh…. Ericsson sold the cluster software to MySQL and started using Oracle…

Reply

“locations” (as in rule 11) has never really been that well defined. A lot of folks think table partitioning fits this bill.

Reply

Agreed. It’s never been very clear what was meant by the “locations” bit, indeed. If only tables, then Oracle was compliant since release 5! But if “portions of tables” is the meaning, then it isn’t compliant.
Still, that mysql feature/ability is something that can be mighty useful to defuse “hot spots”. Or create them…

Reply
Alex Gorbachev
February 12, 2007 9:22 am

Actually, in Oracle you can create union view over parts of different tables via database links and make it updatable with INSTEAD OF triggers.
In many cases performance will be far from optimal but it’s doable. :)

Reply

Leave a Reply

Your email address will not be published. Required fields are marked *