MySQL Server offers a number of choices in storage engines. Since bothNDB
andInnoDB
can serve as transactional MySQL storage engines, users of MySQL Server sometimes become interested in NDB Cluster. They seeNDB
as a possible alternative or upgrade to the defaultInnoDB
storage engine in MySQL 8.0. WhileNDB
andInnoDB
share common characteristics, there are differences in architecture and implementation, so that some existing MySQL Server applications and usage scenarios can be a good fit for NDB Cluster, but not all of them.
In this section, we discuss and compare some characteristics of theNDB
storage engine used by NDB 8.0 withInnoDB
used in MySQL 8.0. The next few sections provide a technical comparison. In many instances, decisions about when and where to use NDB Cluster must be made on a case-by-case basis, taking all factors into consideration. While it is beyond the scope of this documentation to provide specifics for every conceivable usage scenario, we also attempt to offer some very general guidance on the relative suitability of some common types of applications forNDB
as opposed toInnoDB
back ends.
NDB Cluster 8.0 uses amysqldbased on MySQL 8.0, including support forInnoDB
1.1. While it is possible to useInnoDB
tables with NDB Cluster, such tables are not clustered. It is also not possible to use programs or libraries from an NDB Cluster 8.0 distribution with MySQL Server 8.0, or the reverse.
While it is also true that some types of common business applications can be run either on NDB Cluster or on MySQL Server (most likely using theInnoDB
storage engine), there are some important architectural and implementation differences.Section 23.1.6.1, “Differences Between the NDB and InnoDB Storage Engines”, provides a summary of the these differences. Due to the differences, some usage scenarios are clearly more suitable for one engine or the other; seeSection 23.1.6.2, “NDB and InnoDB Workloads”. This in turn has an impact on the types of applications that better suited for use withNDB
orInnoDB
. SeeSection 23.1.6.3, “NDB and InnoDB Feature Usage Summary”, for a comparison of the relative suitability of each for use in common types of database applications.
For information about the relative characteristics of theNDB
andMEMORY
storage engines, seeWhen to Use MEMORY or NDB Cluster.
SeeChapter 16,替代存储引擎, for additional information about MySQL storage engines.