InnoDB Cluster became available in 2017 and thus is the least mature clustering solution, and it only supports InnoDB engine tables. It is not a fully-integrated solution; a proxy, “mysqlrouter,” can be integrated for basic connection routing and failover, and there is a cluster management tool “mysqlshell.” Also, adding a DR site would require patching in MySQL asynchronous replication.

Local High Availability (HA)

Zero downtime maintenance for DB, OS and hardware changes and upgrades. Multi-master in use.

Multi-Region and DR

Must mix different replication technologies which involves DIY. Manual rebuild needed for DR failback. Active/Active not supported.

Scalability

All read replicas active, but single site only. Pod architecture works for local DB cluster scaling.

Performance

Uses semi-synchronous replication which can cause performance issues with writes. mysqlrouter is a very basic MySQL database proxy, only does port-based routing.

Deployment and Application Changes

Easy to deploy if using mysqlh shell. Some features require application changes, certain SQL constructs not supported.

TCO

TCO not predictable, person-hours and/or consulting hours and support. 24/7 support available for $10k/year per 5+ socket server. Goal of 5 minute response for Enterprise support.

MySQL Version

MySQL 5.7+ (but most improvements in MySQL 8.0+), InnoDB engine only.

Infrastructure and Platform

Any single platform.

Completeness

Must mix replication technologies for DR or geo-distributed MySQL HA.

Maturity

April 2017.

Security

Can be used for PCI and HIPAA compliance.

Management and Monitoring

No GUI, custom shell, alters via scripts and API.