23.1.6.1 Differences Between the NDB and InnoDB Storage Engines

The 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:

Table 23.2 Differences between InnoDB and NDB storage engines

FeatureInnoDB (MySQL 8.0)NDB 8.0
MySQL Server Version8.08.0
InnoDB VersionInnoDB 8.0.25InnoDB 8.0.25
NDB Cluster VersionN/ANDB 8.0.26/8.0.26
Storage Limits64TB128TB
Foreign KeysYesYes
TransactionsAll standard typesREAD COMMITTED
MVCCYesNo
Data CompressionYesNo (NDB checkpoint and backup files can be compressed)
Large Row Support (> 14K)Supported for VARBINARY, VARCHAR, BLOB, and TEXT columnsSupported for BLOB and TEXT columns only (Using these types to store very large amounts of data can lower NDB performance)
Replication SupportAsynchronous and semisynchronous replication using MySQL Replication; MySQL Group ReplicationAutomatic synchronous replication within an NDB Cluster; asynchronous replication between NDB Clusters, using MySQL Replication (Semisynchronous replication is not supported)
Scaleout for Read OperationsYes (MySQL Replication)Yes (Automatic partitioning in NDB Cluster; NDB Cluster Replication)
Scaleout for Write OperationsRequires application-level partitioning (sharding)Yes (Automatic partitioning in NDB Cluster is transparent to applications)
High Availability (HA)Built-in, from InnoDB clusterYes (Designed for 99.999% uptime)
Node Failure Recovery and FailoverFrom MySQL Group ReplicationAutomatic (Key element in NDB architecture)
Time for Node Failure Recovery30 seconds or longerTypically < 1 second
Real-Time PerformanceNoYes
In-Memory TablesNoYes (Some data can optionally be stored on disk; both in-memory and disk data storage are durable)
NoSQL Access to Storage EngineYesYes (Multiple APIs, including Memcached, Node.js/JavaScript, Java, JPA, C++, and HTTP/REST)
Concurrent and Parallel WritesYesUp to 48 writers, optimized for concurrent writes
Conflict Detection and Resolution (Multiple Sources)Yes (MySQL Group Replication)Yes
Hash IndexesNoYes
Online Addition of NodesRead/write replicas using MySQL Group ReplicationYes (all node types)
Online UpgradesYes (using replication)Yes
Online Schema ModificationsYes, as part of MySQL 8.0Yes