OpenWorld 2017: What’s New in MySQL NDB Cluster?

This presentation was given by Bernd Ocklin, Senior Director MySQL Cluster Development at Oracle.  It was a good overview of what NDB Cluster is, where it came from and some recent changes.  My notes are:

  • Trade-Offs: Cellular Network
  • Trade-Offs: Online Games – Massive Parallel
  • 99.999% uptime
  • Distributed real-time in-memory network database
  • Runs standalone or as a storage engine for MySQL
  • Auto-sharding based on key
    • transparent between node groups
    • each fragment active in one Data Node with synchronous replication to 2nd data node
  • DBA chooses what part of Primary key to shared on
  • parallelization works even on single queries
  • batches automatically
  • event-driven and asynchronous
  • Active-Active with Geo-Replication in NDB Cluster
    • Update anywhere
    • conflict detection
    • auto-conflict-resolution
  • Async-Replication is for read scale out
  • MySQL Group Replication – innoDB Cluster
    • scale out writes as well as reads (limited write scale out)
  • Moving towards mixing NDB cluster as a node in InnoDB cluster (not there yet)
  • Synchronous locally and use replication for geo-replication (asynchronous)
  • Updates scale pretty much linearly
  • version 7.6 new features
    • makes joins much faster
    • added ndb import to read in csv files
    • MEM integration
    • MySQL 5.7
    • dynamic resource allocation
    • Partial Local Checkpoint – for performance improvements and scalability (now support much larger databases)
    • Multi-treaded backup
  • in MySQL 8.0 they are moving NDB to base MySQL to avoid forking and placing it as a first class citizen
  • MySQL 8.0 new feature
    • CTEs
    • Window Functions
    • Data Dictionary
    • utf8mb4
    • Security Roles
    • Improved Information Schema Performance