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
- used as backend for huge telecoms
- http://bit.ly/oR15tF – for an example in use
- massive volumes
- 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