1.1.2 NDB Cluster数据节点文件系统目录

这个目录的位置可以使用设置 FileSystemPath;目录本身始终命名为 ,其中是数据节点的节点 ID。文件系统目录包含以下目录: ndb_nodeid_fsnodeid

  • 名为D1and 的目录D2,每个目录包含 2 个子目录:

    • DBDICT:包含数据字典信息。这存储在:

      • 文件P0.SchemaLog

      • 一组目录T0, T1, T2, ..., 每个目录包含一个 S0.TableList文件。

    • 名为D8D9D10D11的目录,其中每个目录都包含一个名为DBLQH. 这些包含重做日志,分为四个部分存储在这些目录中。重做日志第 0 部分存储在 中D8,第 1 部分存储在 中D9,依此类推。

      在每个目录中都可以找到一个 包含重做日志文件的DBLQH子目录 ;N这些被命名为S0.Fraglog, S1.FragLog, S2.FragLog, ..., ,其中等于 配置参数的值。默认值为 16。每个文件的默认大小为 16 MB,由 配置参数控制。 SN.FragLogNNoOfFragmentLogFilesNoOfFragmentLogFilesFragmentLogFileSize

      四个重做日志部分的大小均为 NoOfFragmentLogFiles * FragmentLogFileSize. DUMP 2398您可以使用或 找出重做日志使用了多少空间 DUMP 2399

    • DBDIH:该目录包含文件 ,该文件记录了每个节点的最后一次GCI、重启状态、节点组成员关系等信息;它的结构 在 NDB Cluster 源树中定义。此外, 文件还保留属于每个表的片段的记录。 PX.sysfilestorage/ndb/src/kernel/blocks/dbdih/Sysfile.hppSX.FragList

      用于的格式sysfile 在 NDB 8.0 中从版本 1 更新到版本 2。

    • LCP:当使用完整的本地检查点 (LCP) 时,此目录包含 2 个子目录,名为01,每个子目录包含本地检查点数据文件,每个本地检查点一个。在 NDB 7.6(及更高版本)中,当使用部分 LCP(EnablePartialLcp 设置为true)时,在 下可以有多达 2064 个子目录LCP,名为0, 1, 2, ..., 2063, 每个文件中都存储了一个数据文件。这些目录是根据需要按顺序创建的;例如,如果前一个局部 LCP 中使用的最后一个数据文件编号为 61(在 中 LCP/61),则下一个局部 LCP 数据文件将在LCP/62.

      这些子目录每个都包含许多文件,其名称遵循模式 ,其中是表 ID,M 是片段编号。每个数据节点通常有一个主分片和一个备份分片。这意味着,对于具有 2 个数据节点且 等于 2 的 NDB Cluster,是 0 或 1。对于 等于 2的 4 节点集群,在节点组 1 上是 0 或 2,并且 1 或3 在节点组 2 上。 TNFM.DataNNoOfReplicasMNoOfReplicasM

      对于部分本地检查点,通常使用单个数据文件,但是当超过 12.5% 的存储表行要设置检查点时,每个 LCP 最多可以使用 8 个数据文件。在任何给定时间总共可以有 1 到 2048 个数据文件。

      使用ndbmtd时,每个节点可能有多个主片段。在这种情况下, M是一个介于 0 到整个集群中 LQH 工作线程数减 1 之间的数字。每个数据节点上的分片数等于该节点上的 LQH 数乘以 NoOfReplicas

      笔记

      增加 MaxNoOfExecutionThreads 不会改变现有表使用的片段数;只有新创建的表会自动使用新的片段计数。要在增加 后强制现有表使用新的片段计数 MaxNoOfExecutionThreads,您必须执行一条 ALTER TABLE ... REORGANIZE PARTITION语句(就像添加新节点组时一样)。

  • LG:磁盘数据撤消日志文件的默认位置。有关更多信息,请参阅 第 1.1.4 节,“NDB Cluster 磁盘数据表使用的文件”NDB Cluster 磁盘数据表CREATE LOGFILE GROUP 语句

  • TS:磁盘数据表空间数据文件的默认位置。有关更多信息,请参阅 第 1.1.4 节,“NDB Cluster 磁盘数据表使用的文件”NDB Cluster 磁盘数据表CREATE TABLESPACE 语句