MySQL Cluster 7.6 is Generally Available
Mysql 02-Jun-2018

MySQL Cluster 7.6 is Generally Available

It gives us great pleasure to announce that the 7.6 release of MySQL Cluster is now ready for prime time.

MySQL Cluster is the distributed database combining linear scalability and high availability. It provides in-memory real-time access with transactional consistency across partitioned and distributed datasets designed for mission critical applications.

Its shared nothing architecture delivers 99.9999% availability and is used at the core of systems that serve billions of mobile phone users, leading online-games and web services.

MySQL Cluster 7.6 is all about supporting the latest hardware, scaling to even larger and easier to maintain systems. MySQL Cluster 7.6 makes cluster ready for databases scaling to dozands of Terrabytes running on modern hardware and cloud infrastructure.

MySQL Cluster’s disk recovery system has undergone a complete redesign, with less moving parts and inter-node dependecies saving disk space, faster restarts and recovery. Many algorithms in version 7.6 have improved concurrency and balancing making better use of existing hardware resources.

A new import tool designed to load massive amounts of data in cluster at maxium parallel speed. New and improved parallel query processing runs distributed cross-shard (paritioned) joins up to 2x faster.

An overview over some of the features added in MySQL Cluster 7.6

The new checkpoint algorithm improves restarts executing up to 4x faster, checkpoints are written to disk up to 6x faster and cluster’s disk space consumption minimizes. In addition the new checkpoints reduce the synchronization work between nodes. This makes smaller clusters much easier to maintain and allows in turn to build much larger clusters with higher storage capacity.

MySQL Cluster’s real-time in-memory datasets are checkpointed to disk in the background, so that data can be recovered after system restart. In previous versions these checkpoints were full checkpoints always writing the entire dataset to disk per checkpoint. While these checkpoints executed locally on each node they still required synchronization over the network and between the nodes of the cluster.

In Cluster 7.6 checkpoints are now written only partially and together with the data changed. This reduces the amount of data written dramatically while data still can be recovered fully. Also checkpoints are now decoupled from each other. They are now really local to the data nodes. This reduces waiting and synchronization times at system start.

ndb import is a completely new tool for importing large amounts of data as efficiently and quickly into MySQL Cluster as possible. ndb import’s usage is compatible with mysqlimport. But it accelerates the import by making full use of MySQL Cluster’s parallel capacities, has automatic overload control and allows the user to resume a previously aborted import.

The improved parallel query engine runs some joins up to 2x faster now. MySQL Cluster is the only database with built-in joining of data from accross its shards (partitions). The query engine profits now from a higher level of parallization and query distribution.

With the new UNDO log applier disk based tables of MySQL Cluster also benefit from improved parallelism. Cluster starts with disk tables will be running up to 5x faster.

A new and improved disk storage format in addition makes disk based table much more robust.

We also invested into our Shared Memory Transporters between MySQL Server and co-located data nodes. These cut out the network stack entirely and moves communication to shared system memory on local host.

The concept of local availability domains is a feature particularly useful in distributed cloud infrastructures. It completes our data location awareness  and routes traffic cross-availability domain set-ups always to the nearest data node for minimized query latency.

And for rock solid stability MySQL Cluster 7.6 is bundled with the proven MySQL Server 5.7.

Resources

You can download the software here. All changes are documented in the Release Notes for all minor versions of 7.6 released so far. And there is obviously also full documentation.