概述

本文介绍了备份恢复的相关概念。

备份功能

备份类型

PolarDB-X的备份由数据备份和日志备份组成。

  • 数据备份:系统对数据进行备份,并生成备份集,目前采用的是物理备份。您可以恢复备份集所在时间点的数据。

  • 日志备份:也叫增量备份,备份了记录数据变更的Binlog日志。开启日志备份后,基于“数据备份+日志备份”,您可以恢复时间范围内任意时间点(精确至秒)的数据。例如,实例中创建了2021年01月01日00:00:01的数据备份集以及该时间之后的日志,则可以恢复2021年01月01日00:00:01以来任意时间点(精确至秒)的数据。

备份方式

PolarDB-X支持自动备份与手动备份两种方式。

  • 自动备份:系统自动定期触发的数据备份

    • 自动备份策略默认开启,包括数据备份和日志备份;

    • 数据备份默认为每周备份两次(周一与周四),日志备份持续进行,无需设置频率。您可以设置自动执行备份的时间段和周期。具体请参见备份操作

  • 手动备份:用户在控制台主动触发的备份。具体请参考备份操作。手动备份仅支持数据备份,日志备份持续进行,无需手动触发。

说明
  • 自动备份的频率最低为每周一次。

  • 前一次的手动备份完成后才能进行下一次的手动备份。

备份存放位置

  • 数据备份:存放于阿里云提供的备份空间,不占用实例的存储空间,默认保留30天。

  • 日志备份:暂存于实例的存储空间,超过一定时间后(默认7小时)或者一定的空间后(实例存储空间的30%)会上传至阿里云提供的备份空间,默认保留7天。

    您可以设置本地日志备份的保留策略,避免日志备份占用过多存储空间,详情请参见备份操作

备份影响

PolarDB-X备份在数据节点的备节点执行,不占用主节点CPU,备节点不承接业务流量,因此不影响实例性能。

说明

少数情况下,备节点不可用时,备份会在主节点执行。

恢复功能

恢复方式

PolarDB-X支持按备份集恢复和按时间点恢复两种数据恢复方式。

  • 按备份集恢复:依赖数据备份恢复数据,仅支持将数据恢复至数据备份的时刻。

  • 按时间点恢复:依赖数据备份+日志备份恢复数据,支持将数据恢复至备份时间范围内的任意时间点(精确至秒)。例如,实例有2021年01月01日00:00:01的数据备份集以及该时间之后的日志,则可以恢复2021年01月01日00:00:01以来任意时间点(精确至秒)的数据。

恢复数据的位置

PolarDB-X当前仅支持恢复数据至新实例,恢复完成后建议通过DTS等工具将数据导回原实例。

  • 新实例的白名单设置、备份设置、参数设置和当前实例保持一致。

  • 新实例内的数据与备份文件或指定恢复时间点时的数据一致。

  • 新实例带有备份文件或时间点当时的账号信息。

  • 新实例的拓扑与原实例一致,即节点个数相同。

计费方式

全局一致性

PolarDB-X是一款分布式数据库,数据存放在多个数据节点(DN)上,当分布式事务存在的情况下,恢复后的实例需要保证多个数据节点间的数据一致性。下图通过转账测试给出了全局一致性的示例:

456789

PolarDB-X中存放了一张用户的账户余额表,该表的数据分布在两个数据节点中,总的账户金额是200元。业务持续地使用分布式事务在不同的账号间进行转账。

某一时刻(2021-07-25 16:14:20),账户B向账户A转账了30元,账户D向账户C转账了20元。如果将数据恢复至该时刻,全局一致性要求恢复出的数据要么是转账前的状态,要么是转账完成后的状态,即账户的总金额需仍为200元(如恢复2),不能出现转账过程中的数据状态(如恢复1),恢复1中账户总金额为250元,数据是全局不一致的。