NDB Cluster 內部結構  /  NDB 核心區塊  /  DBDIH 區塊

4.5 DBDIH 區塊

此區塊為每個表格、表格分割區以及每個分割區的片段複本,提供資料分佈管理服務,以取得其分佈資訊。它還負責處理本機和全域檢查點。DBDIH 還管理節點和系統重新啟動。此區塊實作於以下檔案中,所有檔案都位於目錄 storage/ndb/src/kernel/blocks/dbdih

  • Dbdih.hpp:此檔案包含 Dbdih 類別的定義,以及 FileRecordPtr 類型,該類型用於保存關於片段及其片段複本的儲存資訊。如果片段有多個備份片段複本,則會將額外複本的清單附加到此記錄中。此記錄還會儲存片段的狀態,並以 64 位元組對齊。

  • DbdihMain.cpp:包含 Dbdih 類別方法的定義。

  • printSysfile/printSysfile.cpp:主 dbdih 目錄中 printSysfile.cpp 的較舊版本。

  • DbdihInit.cpp:初始化 Dbdih 資料和記錄;還包含類別解構函式。

  • LCP.txt:包含開發人員關於 DIHLQH 之間在本地檢查點期間進行訊息交換的注意事項。

  • printSysfile.cpp:此檔案包含 ndb_print_sys_file 公用程式的原始碼。

  • Sysfile.hpp:包含 Sysfile 結構的定義;換句話說,NDB 系統檔案的格式。如需更多關於 NDB 系統檔案的資訊,請參閱第 1 章,NDB Cluster 檔案系統

此區塊經常使用資料節點上的 BACKUP 區塊來完成分散式任務,例如全域檢查點和系統重新啟動。

此區塊實作為 Dbdih 類別,其定義可在檔案 storage/ndb/src/kernel/blocks/dbdih/Dbdih.hpp 中找到。