此區塊為每個表格、表格分割區以及每個分割區的片段複本,提供資料分佈管理服務,以取得其分佈資訊。它還負責處理本機和全域檢查點。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
:包含開發人員關於DIH
與LQH
之間在本地檢查點期間進行訊息交換的注意事項。printSysfile.cpp
:此檔案包含 ndb_print_sys_file 公用程式的原始碼。Sysfile.hpp
:包含Sysfile
結構的定義;換句話說,NDB
系統檔案的格式。如需更多關於NDB
系統檔案的資訊,請參閱第 1 章,NDB Cluster 檔案系統。
此區塊經常使用資料節點上的 BACKUP
區塊來完成分散式任務,例如全域檢查點和系統重新啟動。
此區塊實作為 Dbdih
類別,其定義可在檔案 storage/ndb/src/kernel/blocks/dbdih/Dbdih.hpp
中找到。