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

4.4 DBDICT 區塊

此區塊,即資料字典區塊,位於 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.txtDbdict.txt 的複本。

  • Master_AddTable.sfl:主節點上 DBDICT 的資料表建立操作的訊號日誌追蹤。

  • SchemaFile.hpp:定義 schema 檔案的結構。