MySQL NDB Cluster
MySQL Cluster Carrier Grade Edition
MySQL Cluster is a technology providing clustering and auto-sharding for the MySQL database management system.
MySQL Cluster is implemented through the NDB or NDBCLUSTER storage engine for MySQL. Provides:
Synchronous replication
Very good small transactions ratio
Very good high concurrency (many client threads)
Huge transaction capacity, more than 1M trx/s are not uncommon
Failover can be ~1s
No single point of failure
Geographical disaster recovery capacity built-in
Strong at async replication, applying by batches gives multithreaded apply at the data node level
Can scale reads and writes, the framework implements sharding by hashes
Limitations
Not a drop-in replacement for Innodb, you need to tune the schema and the queries
Only for specific types of application (not a general purpose database, reporting
Only the Read-commited isolation level is available
Hardware heavy, need 4 servers mininum for full HA
Indexes must be kept in memory, even with disk-based tables
Complex to operate, lots of parameters to adjust
Need a load balancer for failover
Very new foreign key support, field reports scarce on it