此區塊,即資料字典區塊,位於 storage/ndb/src/kernel/blocks/dbdict
。資料字典資訊會複製到叢集中所有 DICT
區塊。這是除了 DBTC
之外,應用程式可以傳送直接請求的唯一區塊。
DBDICT
負責管理中繼資料(使用主資料節點),包括資料表、欄位、索引、表格空間、日誌檔、日誌檔群組和其他資料物件的定義。
此區塊實作於下列檔案中
CreateIndex.txt
:包含關於建立、修改和捨棄索引及觸發程序的流程的註解。Dbdict.cpp
:實作事件中繼資料記錄的結構 (適用於NDB$EVENTS_0
),以及用於系統啟動和重新啟動、資料表和 schema 檔案處理,以及將資料表資料打包到頁面的方法。 這裡也包含了用於判斷節點狀態和處理節點失敗的功能。此外,此檔案還實作了Dbdict
的資料和其他初始化常式。DictLock.txt
:實作註解:描述針對 schema 操作鎖定主節點的DICT
。printSchemaFile.cpp
:包含 ndb_print_schema_file 工具的來源程式碼。Slave_AddTable.sfl
:非主節點上DBDICT
的資料表建立操作的訊號日誌追蹤。CreateTable.txt
:概述資料表建立流程的註解 (有日期)。CreateTable.new.txt
:概述資料表建立流程的註解 (CreateTable.txt
的更新版本)。Dbdict.hpp
:定義Dbdict
類別;同時建立NDB$EVENTS_0
資料表。也定義了許多結構,例如資料表和索引記錄,以及資料表記錄。DropTable.txt
:捨棄資料表流程的實作註解。Dbdict.txt
:建立和捨棄事件以及NdbEventOperation
物件的實作註解。Event.txt
:Dbdict.txt
的複本。Master_AddTable.sfl
:主節點上DBDICT
的資料表建立操作的訊號日誌追蹤。SchemaFile.hpp
:定義 schema 檔案的結構。