4.5 DBDIH 块

该块为每个表、表分区、每个分区的分片副本的分布信息提供数据分布管理服务。它还负责处理本地和全局检查点。 DBDIH还管理节点和系统重启。此块在以下文件中实现,所有文件都位于目录中 storage/ndb/src/kernel/blocks/dbdih

  • Dbdih.hpp:该文件包含Dbdih类的定义,以及FileRecordPtr类型,用于保存有关片段及其片段副本的存储信息。如果一个片段有多个备份片段副本,则将附加副本的列表附加到此记录。此记录还存储片段的状态,并且是 64 字节对齐的。

  • DbdihMain.cpp:包含 Dbdih类方法的定义。

  • printSysfile/printSysfile.cppprintSysfile.cpp:主dbdih目录 中的旧版本。

  • DbdihInit.cpp:初始化 Dbdih数据和记录;还包含类析构函数。

  • LCP.txt:包含有关在本地检查点期间发生的 DIH和 之间的消息交换的开发人员说明。LQH

  • printSysfile.cpp:此文件包含 ndb_print_sys_file实用程序的源代码。

  • Sysfile.hpp:包含Sysfile结构的定义;换句话说,NDB系统文件的格式。有关系统文件的更多信息,请参阅 第 1 章,NDB Cluster 文件系统NDB

该块通常利用 BACKUP数据节点上的块来完成分布式任务,例如全局检查点和系统重启。

此块作为Dbdih类实现,其定义可在文件中找到 storage/ndb/src/kernel/blocks/dbdih/Dbdih.hpp