文件首頁
MySQL 9.0 參考手冊
相關文件 下載本手冊
PDF (美國信紙尺寸) - 40.0Mb
PDF (A4) - 40.1Mb
Man Pages (TGZ) - 258.2Kb
Man Pages (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 參考手冊  /  ...  /  線上新增 NDB Cluster 資料節點:一般問題

25.6.7.1 線上新增 NDB Cluster 資料節點:一般問題

本節提供關於線上新增 NDB Cluster 節點的行為和目前限制的一般資訊。

資料重新分配。線上新增節點的功能包含一種重新組織 NDBCLUSTER 資料表資料和索引的方式,以便藉由 ALTER TABLE ... REORGANIZE PARTITION 陳述式,將它們分配到所有資料節點 (包括新的資料節點) 上。支援記憶體內和磁碟資料資料表的資料表重新組織。此重新分配目前不包含唯一索引 (僅重新分配已排序的索引)。

在新資料節點新增之前已存在的 NDBCLUSTER 資料表的重新分配不是自動進行,而是可以使用 mysql 或其他 MySQL 用戶端應用程式中的簡單 SQL 陳述式來完成。但是,在新增新節點群組之後建立的資料表新增的所有資料和索引,都會自動分散在所有叢集資料節點之間,包括新增為新節點群組一部分的節點。

部分啟動。可以在未啟動所有新的資料節點的情況下新增新的節點群組。也可以將新的節點群組新增到降級的叢集,也就是僅部分啟動或一個或多個資料節點未執行的叢集。在後者的情況下,叢集必須有足夠的節點執行才能運作,然後才能新增新的節點群組。

對進行中作業的影響。使用 NDB Cluster 資料的正常 DML 作業不會因為建立或新增新節點群組,或資料表重新組織而受到阻礙。但是,無法與資料表重新組織同時執行 DDL,也就是說,在執行 ALTER TABLE ... REORGANIZE PARTITION 陳述式時,無法發出任何其他 DDL 陳述式。此外,在執行 ALTER TABLE ... REORGANIZE PARTITION (或執行任何其他 DDL 陳述式) 期間,無法重新啟動叢集資料節點。

失敗處理。在節點群組建立和資料表重新組織期間,資料節點的失敗處理方式如下表所示

表格 25.38 節點群組建立和資料表重新組織期間的資料節點失敗處理

期間發生的失敗 資料節點中的失敗 資料節點中的失敗 系統故障
節點群組建立
  • 如果主要節點以外的節點失敗:節點群組的建立永遠會向前復原。

  • 如果主要節點失敗:

    • 如果已到達內部提交點:節點群組的建立會向前復原。

    • 如果尚未到達內部提交點。節點群組的建立會復原。

  • 如果主要節點以外的節點失敗:節點群組的建立永遠會向前復原。

  • 如果主要節點失敗:

    • 如果已到達內部提交點:節點群組的建立會向前復原。

    • 如果尚未到達內部提交點。節點群組的建立會復原。

  • 如果執行 CREATE NODEGROUP 已到達內部提交點:重新啟動時,叢集會包含新的節點群組。否則就不包含。

  • 如果執行 CREATE NODEGROUP 尚未到達內部提交點:重新啟動時,叢集不包含新的節點群組。

資料表重新組織
  • 如果主要節點以外的節點失敗:資料表重新組織永遠會向前復原。

  • 如果主要節點失敗:

    • 如果已到達內部提交點:資料表重新組織會向前復原。

    • 如果尚未到達內部提交點。資料表重新組織會復原。

  • 如果主要節點以外的節點失敗:資料表重新組織永遠會向前復原。

  • 如果主要節點失敗:

    • 如果已到達內部提交點:資料表重新組織會向前復原。

    • 如果尚未到達內部提交點。資料表重新組織會復原。

  • 如果執行 ALTER TABLE ... REORGANIZE PARTITION 陳述式已到達內部提交點:重新啟動叢集時,屬於 table 的資料和索引會使用資料節點來分配。

  • 如果執行 ALTER TABLE ... REORGANIZE PARTITION 陳述式尚未到達內部提交點:重新啟動叢集時,屬於 table 的資料和索引僅使用資料節點來分配。


卸除節點群組。ndb_mgm 用戶端支援 DROP NODEGROUP 命令,但只有在節點群組中的任何資料節點都不包含任何資料時,才能卸除節點群組。由於目前沒有任何方式可以清空特定的資料節點或節點群組,因此此命令僅適用於以下兩種情況

  1. ndb_mgm 用戶端中發出 CREATE NODEGROUP 之後,但在 mysql 用戶端中發出任何 ALTER TABLE ... REORGANIZE PARTITION 陳述式之前。

  2. 使用 DROP TABLE 卸除所有 NDBCLUSTER 資料表之後。

    TRUNCATE TABLE 無法達到此目的,因為資料節點會繼續儲存資料表定義。