April 25, 2006
What's New in MySQL Cluster 5.1
Listening to Stewart Smith presenting details at MySQL UC 2006 about what's new in MySQL Cluster version 5.1. Stewart has a great personality for presentations, entertaining at the same time he covers the technical details. Reminds me a bit of Damian Conway (the Perl guru), and not just because they're both from Australia.
What was new in 5.0?
- engine condition pushdown - 5-10 times performance improvement
- batched read interface
- more metadata objects
- decreased index memory usage
- enabled query cache
New in 5.1 Cluster
- Variable size rows (used to be fixed, even if you specified varchar): Cluster can pack records a lot tighter.
- Online add-drop index: much performance improvement over previous index modifications.
- Data partitioning: can specify data storage based on slices of data (just like partitioning in other engines).
- Replication (for geographical redundancy or splitting processing load or whatever): You can also have a backup master and slave for redundancy if master or slave processes fail. If you want to failover to the slave cluster it's a manual process that takes 4 steps. Stewart goes through these steps but notes they are in the docs. Automating failover is very complex.
- Disk-based cluster: in 5.1 the data can be put on disk but the indexes can only be in memory. The future is to allow indexes to be stored on the disk too. No uncommitted data is written to disk
- Node recovery: Traditional cluster (pre 5.1) copied all the data over the wire, in 5.1 you can use the optimized node recovery to copy just the data since node failure.
- Autodiscovery of DDL: if a table is created on one SQL node it is discovered on other SQL nodes as long as bthe binary log is enabled.
Stewart goes into the details on each of these sections (I've attempted to capture the essence as he's a pretty quick speaker and is moving quickly to get through everything).
Q/ATo find memory bing used by the cluster you can use a command in the manager that tells the storage nodes to write current memory information into the logs on the node. I think the command is ALL CLUSTERLOG STATISTICS=15.
Posted by mike at April 25, 2006 5:54 PM