文件首頁
MySQL 8.4 參考手冊
相關文件 下載本手冊
PDF (美式信紙) - 39.9Mb
PDF (A4) - 40.0Mb
Man Pages (TGZ) - 258.5Kb
Man Pages (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 參考手冊  /  MySQL NDB 叢集 8.4  /  NDB 叢集概觀

25.2 NDB 叢集概觀

NDB 叢集 是一種技術,可以在無共享系統中實現記憶體內資料庫的叢集。無共享架構使系統能夠以非常便宜的硬體運作,並對硬體或軟體的需求降至最低。

NDB 叢集的設計目標是沒有任何單點故障。在無共享系統中,每個元件都應擁有自己的記憶體和磁碟,因此不建議或不支援使用網路共享、網路檔案系統和 SAN 等共享儲存機制。

NDB 叢集將標準 MySQL Server 與稱為 NDB (代表 Network DataBase) 的記憶體內叢集儲存引擎整合在一起。在我們的文件中,術語 NDB 指的是設定中特定於儲存引擎的部分,而 MySQL NDB 叢集指的是一個或多個 MySQL Server 與 NDB 儲存引擎的組合。

NDB 叢集由一組稱為 主機 的電腦組成,每部電腦執行一個或多個處理程序。這些稱為 節點 的處理程序可能包含 MySQL Server (用於存取 NDB 資料)、資料節點 (用於儲存資料)、一個或多個管理伺服器,以及其他可能特殊的資料存取程式。NDB 叢集中這些元件的關係如下圖所示

圖 25.1 NDB 叢集元件

In this cluster, three MySQL servers (mysqld program) are SQL nodes that provide access to four data nodes (ndbd program) that store data. The SQL nodes and data nodes are under the control of an NDB management server (ndb_mgmd program). Various clients and APIs can interact with the SQL nodes - the mysql client, the MySQL C API, PHP, Connector/J, and Connector/NET. Custom clients can also be created using the NDB API to interact with the data nodes or the NDB management server. The NDB management client (ndb_mgm program) interacts with the NDB management server.

所有這些程式共同運作,形成一個 NDB 叢集 (請參閱 第 25.5 節「NDB 叢集程式」)。當 NDB 儲存引擎儲存資料時,表格 (和表格資料) 會儲存在資料節點中。所有其他叢集中的 MySQL Server (SQL 節點) 都可以直接存取這些表格。因此,在將資料儲存在叢集中的薪資應用程式中,如果某個應用程式更新了員工的薪資,則查詢此資料的所有其他 MySQL Server 都可以立即看到此變更。

NDB 叢集 8.4 SQL 節點使用 mysqld 伺服器精靈,它與 MySQL Server 8.4 發行版提供的 mysqld 相同。您應該記住,未連線到 NDB 叢集的 mysqld 執行個體,無論版本為何,都不能使用 NDB 儲存引擎,而且不能存取任何 NDB 叢集資料

NDB 叢集的資料節點中儲存的資料可以鏡像;叢集可以處理個別資料節點的故障,除了少數交易因遺失交易狀態而中止之外,沒有其他影響。由於預期交易應用程式會處理交易失敗,因此這不應該是問題的根源。

可以停止和重新啟動個別節點,然後它們可以重新加入系統 (叢集)。滾動重新啟動 (依序重新啟動所有節點) 用於進行組態變更和軟體升級 (請參閱 第 25.6.5 節「執行 NDB 叢集的滾動重新啟動」)。滾動重新啟動也用作在線上新增資料節點的流程的一部分 (請參閱 第 25.6.7 節「在線上新增 NDB 叢集資料節點」)。如需有關資料節點、它們如何在 NDB 叢集中組織,以及它們如何處理和儲存 NDB 叢集資料的詳細資訊,請參閱 第 25.2.2 節「NDB 叢集節點、節點群組、片段複本和分割區」

可以使用 NDB 叢集管理用戶端和 NDB 叢集發行版中包含的 ndb_restore 程式中找到的 NDB 原生功能來備份和還原 NDB 叢集資料庫。如需詳細資訊,請參閱 第 25.6.8 節「NDB 叢集的線上備份」,以及 第 25.5.23 節「ndb_restore — 還原 NDB 叢集備份」。您也可以使用 mysqldump 和 MySQL Server 中為此目的提供的標準 MySQL 功能。如需詳細資訊,請參閱 第 6.5.4 節「mysqldump — 資料庫備份程式」

NDB 叢集節點可以使用不同的傳輸機制進行節點間通訊;在大多數實際部署中,會使用標準 100 Mbps 或更快的乙太網路硬體的 TCP/IP。