首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL Cluster (NDB) 架構核心概念:三大節點、配置管理與客戶端類型

     編輯:MySQL 資料庫相關知識

NDB 儲存引擎特性

  • In-Memory:資料主要駐留記憶體,高吞吐、低延遲。
  • 高可用:同步多副本、自動故障轉移、無單點故障。
  • 強一致:兩階段提交保證跨節點 ACID。

三大核心節點類型

節點角色啟動命令關鍵參數
管理節點 (MGM)叢集配置分發、節點啟停、備份協調、日誌收集ndb_mgmd -f config.ini必須最先啟動
資料節點 (Data Node)儲存實際資料、執行查詢片段、同步複寫ndbd 或 ndbmtd (多執行緒)數量 = 片段數 × 副本數
SQL 節點 (API Node)對外提供 MySQL 介面、解析 SQL、分發查詢計畫到資料節點mysqld --ndbcluster可任意擴展,無狀態

最小部署拓撲

┌─────────────┐
│  MGM Node   │  (1個,建議奇數用於仲裁)
└──────┬──────┘
       │ 管理通道
┌──────┴──────┐
│ Data Node 1 │──┐
└─────────────┘  │ 同步複寫 (2副本)
┌─────────────┐  │
│ Data Node 2 │──┘
└─────────────┘
       │
       ▼
┌─────────────┐
│  SQL Node   │  (應用連接入口,可多個負載均衡)
└─────────────┘

配置管理:單一配置檔

  • 所有節點配置集中在 config.ini (由 MGM 管理)。
  • 節點啟動時從 MGM 拉取配置,動態變更需 Rolling Restart。
  • 關鍵區段:[ndbd default]、[ndb_mgmd]、[ndbd]、[mysqld]、[tcp default]。

客戶端類型

  1. 標準 MySQL 客戶端:PHP/JAVA/Python 等現有應用無感接入,透過 SQL 節點存取。
  2. 管理客戶端:ndb_mgm 連接 MGM,執行 SHOW、START/BACKUP、DUMP 等運維指令。

常見誤區與避坑

⚠️ 節點 ≠ 機器:單機可運行多節點進程;生產建議跨機房部署資料節點,MGM 部署獨立機器。
  • 大表需合理分片 (PARTITION BY KEY),避免單分片過大導致重平衡緩慢。
  • DiskData 表可將非索引欄位存磁碟,節省記憶體,但查詢需命中索引。
  • 備份使用 ndb_mgm -e "START BACKUP",線上熱備、不鎖表。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved