Oracle InnoDB Cluster
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.