此块,即数据字典块,位于 storage/ndb/src/kernel/blocks/dbdict 中。数据字典信息被复制到集群中的所有 DICT 块。这是除 DBTC 之外唯一可以接收应用程序直接请求的块。
DBDICT 负责管理元数据(使用主数据节点),包括表、列、索引、表空间、日志文件、日志文件组和其他数据对象的定义。
此块在以下文件中实现
CreateIndex.txt:包含有关创建、更改和删除索引和触发器的过程的说明。Dbdict.cpp:实现了事件元数据记录的结构(用于NDB$EVENTS_0),以及用于系统启动和重启、表和模式文件处理以及将表数据打包到页面中的方法。此处还提供了确定节点状态和处理节点故障的功能。此外,此文件还实现了Dbdict的数据和其他初始化例程。DictLock.txt:实现说明:描述了针对模式操作锁定主节点的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:定义模式文件的结构。