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

另见第 4.10 节,“DBTUP 块”