The MySQL Cluster NDB storage
engine is implemented using a distributed, shared-nothing
architecture, which causes it to behave differently from
InnoDB in a number of ways. For
those unaccustomed to working with
NDB, unexpected behaviors can arise
due to its distributed nature with regard to transactions,
foreign keys, joins, and other characteristics. These are shown
in the following table:
Feature |
MySQL Cluster |
|
|---|---|---|
MySQL Server Version |
|
MySQL Cluster NDB 6.3, 7.0, 7.1: 5.1 MySQL Cluster NDB 7.2: 5.5 |
|
|
NDB 6.3, 7.0:
NDB 7.1:
NDB 7.2:
|
Storage Limits |
64TB |
3TB (Practical upper limit based on 48 data nodes with 64GB RAM each; can be increased with disk-based data and BLOBs) |
Foreign Keys |
Yes |
No
(Ignored, as with |
Transactions |
All standard types |
|
MVCC Non-Blocking Reads |
Yes |
No |
Data Compression |
Yes |
No (MySQL Cluster checkpoint and backup files can be compressed) |
Large Row Support (> 14K) |
Supported for (Using these types to store very large amounts of data can lower MySQL Cluster performance) |
|
Replication Support |
Asynchronous and semi-synchronous replication using MySQL Replication |
Automatic synchronous replication within a MySQL Cluster. Asynchronous replication between MySQL Clusters, using MySQL Replication |
Scaleout for Read Operations |
Yes (MySQL Replication) |
Yes (Automatic partitioning in MySQL Cluster; MySQL Replication) |
Scaleout for Write Operations |
Requires application-level partitioning (sharding) |
Yes (Automatic partitioning in MySQL Cluster is transparent to applications) |
High Availability (HA) |
Requires additional software |
Yes (Designed for 99.999% uptime) |
Node Failure Recovery and Failover |
Requires additional software |
Automatic (Key element in MySQL Cluster architecture) |
Time for Node Failure Recovery |
30 seconds or longer |
Typically < 1 second |
Real-Time Performance |
No |
Yes (Low latency) |
In-Memory Tables |
No |
Yes (Some data can optionally be stored on disk; both in-memory and disk data storage are durable) |
NoSQL Access to Storage Engine |
Native memcached interface in development (see the MySQL Dev Zone article NoSQL to MySQL with Memcached) |
Yes Multiple APIs, including C++, HTTP/REST, Java and JPA (MySQL Cluster NDB 7.1 and later); Memcached (MySQL Cluster NDB 7.2) and later) |
Concurrent and Parallel Writes |
Not supported |
Up to 48 writers, optimized for concurrent writes |
Conflict Detection and Resolution (Multiple Replication Masters) |
No |
Yes |
Hash Indexes |
No |
Yes |
Online Addition of Nodes |
Read-only replicas using MySQL Replication |
Yes (all node types) |
Online Upgrades |
No |
Yes |
Online Schema Modifications |
No |
Yes |
Real-Time Performance |
No |
Yes |

User Comments
Add your own comment.