MySQL 伺服器提供了許多儲存引擎的選擇。由於 NDB
和 InnoDB
都可以作為事務 MySQL 儲存引擎,因此 MySQL 伺服器的使用者有時會對 NDB Cluster 產生興趣。他們將 NDB
視為 MySQL 中預設 InnoDB
儲存引擎的可能替代或升級方案。雖然 NDB
和 InnoDB
具有共同的特性,但在架構和實作上存在差異,因此某些現有的 MySQL 伺服器應用程式和使用場景非常適合 NDB Cluster,但並非全部都適用。
在本節中,我們將討論和比較 NDB 9.0 使用的 NDB
儲存引擎與 MySQL 9.0 中使用的 InnoDB
的一些特性。接下來的幾節將提供技術比較。在許多情況下,必須根據具體情況,並考量所有因素來決定何時以及何處使用 NDB Cluster。雖然本文件超出範圍,無法為每個可想像的使用場景提供詳細說明,但我們也會嘗試針對某些常見應用程式類型提供關於 NDB
相對於 InnoDB
後端的相對適用性的一些非常一般性的指導。
NDB Cluster 9.0 使用基於 MySQL 9.0 的 mysqld,包括對 InnoDB
1.1 的支援。雖然可以使用 NDB Cluster 搭配 InnoDB
資料表,但這類資料表不會叢集。也不可能將 NDB Cluster 9.0 發行版中的程式或程式庫與 MySQL Server 9.0 搭配使用,反之亦然。
雖然某些常見的商業應用程式也可以在 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 章「替代儲存引擎」。