Some highlights of this third milestone release of MySQL Cluster 7.5 are:
- This release is based on MySQL 5.7, so users can enjoy many of the great new features available in the latest MySQL Server, along with the many features that Cluster brings, including shared-nothing clustering and auto-sharding.
- This release further removes any dependencies on the MyISAM storage engine. We’ve now completed the migration of all ndbinfo tables to the ndbinfo storage engine and the mysql system tables (e.g. ndb_binlog_index) to the InnoDB storage engine. This ensures ACID guarantees for all Cluster statistics and metadata.
- The NDBCLUSTER storage engine now supports the native JSON datatype in MySQL.
- You now have even greater control over what CPU hardware threads internal Cluster threads are assigned to and what priority they should have, thus greatly increasing control and overall efficiency on multi-socket NUMA machines. We’ve also added CPU statistics info tables which then allow you to see how effectively you’re using the available CPU hardware threads and cycles.
- Improved performance and efficiency — this results from refactoring work done on the event buffering and send thread implementations.
- Improved capacity — the maximum fragment (a shard or portion of a shard) size was increased to 128TB (takes effect when starting a node with 7.5.2 or later).
- Improved read-scalability — by default, Cluster has always been a write-optimized database. In 7.5.2 and later you can alternatively choose to make the entire Cluster or individual tables (READ_BACKUP=1) read-optimized. In doing so you take a slight hit on write latency, but in return can effectively multiply your read throughput and capacity by the number of active nodes or replicas in the node group. It also ensures data locality within a node group or shard, thus greatly increasing the efficiency of more complex queries.
- Improved data locality — building on the read-scalability work noted above, you can now also declare a table to be fully or globally replicated (FULLY_REPLICATED=1) so that it exists in full on all nodes. This is ideal for smaller fact or lookup tables (e.g. country, state, account_type) which are often used in joins, thus allowing you to avoid the overhead and latency involved in what would otherwise be a cross-shard query (which incurs a lot of network traffic and transaction coordination overhead).
- And many bug fixes, with a focus on improved performance and ease-of-use. The goal being an improved overall Cluster experience!
THANK YOU for using MySQL!