MySQL NDB Cluster 内部手册 / 第 4 章 NDB 内核块 /
4.3 DBACC 块
也称为ACC块,这是访问控制和锁管理模块。它还负责存储主键和存储唯一键哈希索引。该块位于 中
storage/ndb/src/kernel/blocks/dbacc,其中包含以下文件:
Dbacc.hpp:定义Dbacc类,以及操作、扫描、表和其他记录的结构。DbaccInit.cpp:Dbacc类的构造函数和析构函数;初始化数据和记录的方法。DbaccMain.cpp:实现Dbacc类方法。
该ACC块处理存储在 8K 页中的数据库索引结构。数据库锁也在ACC块中处理。
当插入一个新的元组时,
TUP块将元组存储在合适的空间中并返回一个索引(对元组在内存中的地址的引用)。ACC将元组的主键和元组索引存储在哈希表中。
与TUP区块一样,
ACC区块实现了检查点协议的一部分。它还执行撤消日志记录。它由Dbacc定义在
storage/ndb/src/kernel/blocks/dbacc/DbaccMain.hpp.
DBQACC是此块的子类型,用于查询和恢复线程,在 NDB 8.0.23 中添加。