可以使用 FileSystemPath
设置此目录的位置;目录本身始终命名为 ndb_
,其中 nodeid
_fsnodeid
是数据节点的节点 ID。文件系统目录包含以下目录
-
名为
D1
和D2
的目录,每个目录包含 2 个子目录-
DBDICT
:包含数据字典信息。这些信息存储在文件
P0.SchemaLog
中一组名为
T0
、T1
、T2
... 的目录,每个目录都包含一个S0.TableList
文件。
-
名为
D8
、D9
、D10
和D11
的目录,每个目录都包含一个名为DBLQH
的目录。这些目录包含重做日志,重做日志分为四个部分,分别存储在这些目录中,重做日志部分 0 存储在D8
中,部分 1 存储在D9
中,依此类推。在每个目录中,都可以找到一个
DBLQH
子目录,其中包含N
个重做日志文件;这些文件名为S0.Fraglog
、S1.FragLog
、S2.FragLog
...、S
,其中N
.FragLogN
等于NoOfFragmentLogFiles
配置参数的值。NoOfFragmentLogFiles
的默认值为 16。每个文件的默认大小为 16 MB,由FragmentLogFileSize
配置参数控制。四个重做日志部分的大小均为
NoOfFragmentLogFiles * FragmentLogFileSize
。您可以使用DUMP 2398
或DUMP 2399
查询重做日志使用了多少空间。 -
DBDIH
:此目录包含文件P
,该文件记录每个节点的最后 GCI、重启状态和节点组成员资格等信息;其结构在 NDB 集群源代码树的X
.sysfilestorage/ndb/src/kernel/blocks/dbdih/Sysfile.hpp
中定义。此外,S
文件保存属于每个表的片段的记录。X
.FragListsysfile
使用的格式在 NDB 8.0 中从版本 1 更新到版本 2。 -
LCP
:使用完整本地检查点 (LCP) 时,此目录包含 2 个子目录,分别名为0
和1
,每个子目录都包含本地检查点数据文件,每个本地检查点对应一个文件。在 NDB 7.6(及更高版本)中,当使用部分 LCP(EnablePartialLcp
设置为true
)时,LCP
下最多可以有 2064 个子目录,分别名为0
、1
、2
...、2063
,每个子目录中存储一个数据文件。这些目录是按需创建的,顺序排列;例如,如果上一个部分 LCP 中使用的最后一个数据文件的编号为 61(位于LCP/61
中),则下一个部分 LCP 数据文件将在LCP/62
中创建。这些子目录中的每一个都包含许多文件,这些文件的名称遵循模式
T
,其中N
FM
.DataN
是表 ID,M 是片段编号。每个数据节点通常有一个主片段和一个备份片段。这意味着,对于具有 2 个数据节点且NoOfReplicas
等于 2 的 NDB 集群,M
为 0 或 1。对于具有 4 个节点且NoOfReplicas
等于 2 的集群,节点组 1 上的M
为 0 或 2,节点组 2 上的M
为 1 或 3。对于部分本地检查点,通常使用单个数据文件,但是当要对存储的表行的 12.5% 以上进行检查点时,每个 LCP 最多可以使用 8 个数据文件。总的来说,在任何给定时间,可以有 1 到 2048 个数据文件。
使用 ndbmtd 时,每个节点可能有多个主片段。在这种情况下,
M
是 0 到整个集群中 LQH 工作线程数减 1 范围内的数字。每个数据节点上的片段数等于该节点上的 LQH 数乘以NoOfReplicas
。注意增加
MaxNoOfExecutionThreads
不会更改现有表使用的片段数;只有新创建的表才会自动使用新的片段数。如果要在增加MaxNoOfExecutionThreads
后强制现有表使用新的片段数,则必须执行ALTER TABLE ... REORGANIZE PARTITION
语句(就像添加新节点组时一样)。
-
LG
:磁盘数据撤消日志文件的默认位置。有关更多信息,请参阅第 1.1.4 节 “NDB 集群磁盘数据表使用的文件”、NDB 集群磁盘数据表 和 CREATE LOGFILE GROUP 语句。TS
:磁盘数据表空间数据文件的默认位置。有关更多信息,请参阅第 1.1.4 节 “NDB 集群磁盘数据表使用的文件”、NDB 集群磁盘数据表 和 CREATE TABLESPACE 语句。