25.2.6 MySQL 服务器与 NDB Cluster 的比较
MySQL 服务器提供了多种存储引擎选择。由于NDB
和InnoDB
都可以作为事务性 MySQL 存储引擎,因此MySQL 服务器的用户们有时会对 NDB 集群感兴趣。他们将NDB
视为可能的替代或升级到默认的InnoDB
存储引擎。虽然NDB
和InnoDB
共享一些共同特征,但架构和实现方面存在差异,因此某些现有的 MySQL 服务器应用程序和使用场景可能适合 NDB 集群,但不是所有的。
在本节中,我们将讨论和比较NDB
存储引擎,用于NDB 8.4,与在MySQL 8.4中使用的InnoDB
。下一几个节将提供技术比较。在许多情况下,关于何时和在哪里使用NDB集群的决定必须基于个案考虑所有因素。虽然这份文档无法为每种可能的使用场景提供详细信息,我们也尝试提供一些非常一般的指导,关于NDB
和InnoDB
后端的相对适用性,针对一些常见类型的应用程序。
NDB集群8.4使用基于MySQL 8.4的mysqldInnoDB
1.1的支持。虽然可以使用InnoDB
表与NDB集群,但这些表不被聚合。同样,不可能使用来自NDB集群8.4分发的程序或库与MySQL Server 8.4,或者反之。
虽然某些常见的商业应用程序可以在 NDB 集群或 MySQL 服务器上运行(可能使用InnoDB
存储引擎),但存在一些重要的架构和实现差异。第25.2.6.1节,“NDB 和 InnoDB 存储引擎之间的差异”总结了这些差异。由于差异,某些使用场景明显更适合一个引擎或另一个引擎;见第25.2.6.2节,“NDB 和 InnoDB 工作负载”。这反过来对使用NDB
或InnoDB
的应用程序类型产生影响。见第25.2.6.3节,“NDB 和 InnoDB 功能使用总结”,了解每个引擎在常见数据库应用程序中的相对适用性。
关于NDB
和MEMORY
存储引擎的相对特征,请参阅何时使用 MEMORY 或 NDB 集群。
见备用存储引擎,了解 MySQL 存储引擎的更多信息。