21.5.8.1 NDB 群集备份概念

备份是给定时间的数据库快照。备份包括三个主要部分:

  • 元数据. 所有数据库 table 的名称和定义

  • table 记录. 进行备份时实际存储在数据库 table 中的数据

  • 事务日志. Sequences 记录,说明如何以及何时将数据存储在数据库中

每个部分都保存在参与备份的所有节点上。在备份期间,每个节点将这三个部分保存到磁盘上的三个文件中:

  • BACKUP-backup_id.node_id.ctl

包含控制信息和元数据的控制文件。每个节点将相同的 table 定义(针对集群中的所有 table)保存到此文件的自己的版本中。

  • BACKUP-backup_id-0.node_id.data

包含 table 记录的数据文件,该记录按碎片存储。即,不同的节点在备份期间保存不同的片段。每个节点保存的文件均以 Headers 开头,该 Headers 指出了记录所属的 table。在记录列 table 之后,有一个页脚,其中包含所有记录的校验和。

  • BACKUP-backup_id.node_id.log

包含已提交事务记录的日志文件。日志中仅存储备份中存储的 table 上的事务。备份中涉及的节点保存不同的记录,因为不同的节点承载不同的数据库片段。

在刚刚显示的 Lists 中,* backup_id 代 table 备份标识符, node_id *是创建文件的节点的唯一标识符。

备份文件的位置由BackupDataDir参数确定。