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 中添加。