可以使用 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,其中NFM.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 语句。