The NDB 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, table limits, and other characteristics. These are
shown in the following table:
Feature |
|
NDB Cluster |
|---|---|---|
MySQL Server Version | 5.5 | NDB Cluster 7.2: 5.5 NDB Cluster 7.3: 5.6 |
|
|
|
NDB Cluster Version | N/A |
|
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 | Available in NDB Cluster 7.3 and later.
(Prior to NDB Cluster 7.3: Ignored, as with
|
Transactions | All standard types | |
MVCC | Yes | No |
Data Compression | Yes | No (NDB 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 NDB Cluster performance) | |
Replication Support | Asynchronous and semisynchronous replication using MySQL Replication | Automatic synchronous replication within an NDB Cluster. Asynchronous replication between NDB Clusters, using MySQL Replication |
Scaleout for Read Operations | Yes (MySQL Replication) | Yes (Automatic partitioning in NDB Cluster; MySQL Replication) |
Scaleout for Write Operations | Requires application-level partitioning (sharding) | Yes (Automatic partitioning in NDB 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 NDB Cluster architecture) |
Time for Node Failure Recovery | 30 seconds or longer | Typically < 1 second |
Real-Time Performance | No | Yes |
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 NDB Cluster 7.2 (DMR2): NoSQL, Key/Value, Memcached) | Yes Multiple APIs, including Memcached, Node.js/JavaScript, Java, JPA, C++, and HTTP/REST |
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. |