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参数确定。