MySQL 伺服器在儲存引擎方面提供多種選擇。由於 NDB
和 InnoDB
都可以作為事務型 MySQL 儲存引擎,MySQL 伺服器的使用者有時會對 NDB Cluster 產生興趣。他們將 NDB
視為 MySQL 中預設 InnoDB
儲存引擎的可能替代方案或升級方案。雖然 NDB
和 InnoDB
具有共同的特性,但在架構和實作方面存在差異,因此一些現有的 MySQL 伺服器應用程式和使用情境可能非常適合 NDB Cluster,但並非所有都如此。
在本節中,我們將討論和比較 NDB 8.4 所使用的 NDB
儲存引擎與 MySQL 8.4 中使用的 InnoDB
的一些特性。接下來的幾節將提供技術比較。在許多情況下,關於何時何地使用 NDB Cluster 的決策必須根據具體情況做出,並考慮所有因素。雖然本文件無法針對所有可以想像的使用情境提供具體資訊,但我們也嘗試針對一些常見的應用程式類型在 NDB
與 InnoDB
後端方面的相對適用性提供一些非常廣泛的指導。
NDB Cluster 8.4 使用基於 MySQL 8.4 的 mysqld,包括對 InnoDB
1.1 的支援。雖然可以在 NDB Cluster 中使用 InnoDB
表格,但這些表格不會叢集化。也不可能將 NDB Cluster 8.4 發行版中的程式或程式庫與 MySQL 伺服器 8.4 一起使用,反之亦然。
雖然某些類型的常見商業應用程式可以在 NDB Cluster 或 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 Cluster。
如需關於 MySQL 儲存引擎的其他資訊,請參閱 第 18 章,替代儲存引擎。