本文介绍PolarDB MySQL版备份与恢复功能的常见问题。
备份
备份物理空间大小与备份逻辑大小是如何计算的?
PolarDB的备份有两个容量数据,一个是每个备份的逻辑大小(下图中的②),一个是全部备份的物理空间大小(下图中的①)。
逻辑大小:一致性快照时间点(下图中的③)的数据量(数据+日志)大小。
物理空间大小:备份快照链的大小。PolarDB的备份采用增量快照链机制,该机制保留了历史每个时刻的快照状态。因此,当数据块有修改时,系统会将历史版本的数据块保留给快照。同时,只有在前面的快照过期时,快照链上的数据才会减少。
示例:假设集群数据量为100 GB。一级备份/数据备份的备份周期为每天1次,备份保留时长为3天。
日期
数据修改过程
存储空间数据大小
对应快照链(备份物理空间)大小
周一
新增数据量100 GB
100 GB+100 GB=200 GB
+0 GB=0 GB
说明此处未考虑周一之前的快照链(备份物理空间)大小。
请注意,在实际场景中,增量不会为0 GB。快照引用的数据块可能是没有写完的数据块,如果新的数据需要写入这些被快照引用的数据块,则会复制出一份新的数据块进行写入。因此,在快照生成后进行数据写入也会导致快照链(备份物理空间)的大小增加。
周二
修改数据量1 GB,并新增数据量1 GB
200 GB+1 GB=201 GB
0 GB+1 GB=1 GB
周三
删除数据量100 GB
说明删除的数据为周一新增的数据。
201 GB-100 GB=101 GB
1 GB+100 GB=101 GB
周四
修改数据量1 GB,并新增数据量1 GB
101 GB+1 GB=102 GB
101 GB+1 GB=102 GB
周五
修改数据量1 GB,并新增数据量1 GB
102 GB+1 GB=103 GB
102 GB+1 GB=103 GB
说明此时,周一的快照已过期。然而,快照链(备份物理空间)的大小并不会减少,系统将继续保留历史版本的数据块,以供周二的备份集使用。
周六
修改数据量1 GB,并新增数据量1 GB
103 GB+1 GB=104 GB
103 GB+1 GB-100 GB=4 GB
说明此时,周二的快照已过期。由于周三删除了周一新增的数据,系统将不再保留历史版本的数据块,所以快照链(备份物理空间)的大小将减少100 GB。
说明以上示例仅供参考,示例中仅以集群中的业务数据为例,并未考虑系统文件。请根据实际情况为准。
若您想要降低备份物理空间大小,在业务使用(数据块的修改频率)保持原状的情况下,可以减少备份周期及保留时长。具体信息,请参见如何降低一级备份、二级备份和日志备份的数据量和费用?
一级备份/数据备份物理空间大小是否为所有备份逻辑大小之和?
不是。一级备份与数据备份的说明如下:
一级备份
一级备份物理空间大小(下图中的①)不是所有备份逻辑大小(下图中的②)之和,而是指所有一级备份(快照)独占的物理空间大小之和。
数据备份
数据备份物理空间大小(下图中的①)不是所有备份逻辑大小(下图中的②)之和,而是指所有数据备份(快照)独占的物理空间大小之和。
为什么一级备份/数据备份物理空间大小比单个备份集还要小?
PolarDB的备份有两个容量数据,一个是每个备份集的逻辑大小,一个是全部备份的物理大小。PolarDB的备份采用快照链的机制,相同的数据块只会记录一份,因此总物理大小要小于逻辑大小,有时候甚至会小于单个备份逻辑大小。
PolarDB备份有哪些费用?
一级备份/数据备份、二级备份以及日志备份的存储空间费用。其中一级备份/数据备份和日志备份默认开启,并赠送一定的免费空间。二级备份默认关闭。具体信息,请参见备份存储(超出免费额度)。
一级备份/数据备份的费用怎么算?
备份费用根据您集群的存储类型而定。
ESSD云盘(PL0、PL1、PL2、PL3及AutoPL)
公式:每小时费用=(数据备份总大小-免费额度)×每小时价格
免费额度:存储空间容量× 50%
示例:以中国内地为例,数据备份总大小为700 GB,数据库存储用量为1000 GB,那么每小时费用为[700 GB-(1000 GB×50%)]×0.00003231美元/GB/小时=0.006462美元/小时。 具体信息,请参见备份存储(超出免费额度)。
PSL4/PSL5
公式:每小时费用=(一级备份总大小-免费额度)×每小时价格
免费额度:不同存储计费类型下免费额度的计算公式有所差异。具体公式如下所示:
按空间计费(包年包月):存储空间容量× 50%。
按容量计费(按量计费):存储用量× 50%。
示例:以中国内地的存储类型PSL5为例,一级备份(快照)总大小为700 GB,数据库存储用量为1000 GB,那么每小时费用为[700 GB-(1000 GB×50%)]×0.000464美元/GB/小时=0.0928美元/小时。 具体信息,请参见备份存储(超出免费额度)。
存储包是否支持抵扣备份空间的费用?
支持。购买存储包后,若抵扣完账号下所有PolarDB集群的存储空间用量后存储包容量仍有剩余,将自动按照规定的抵扣比例抵扣备份存储(一级备份/数据备份、二级备份、日志备份)中超过免费额度的空间用量,直至抵扣完存储包中的所有容量。若存储包中剩余容量不足以抵扣备份存储所用量,超出部分将正常按量付费。更多关于存储包抵扣的问题,请参见存储包常见问题。
如何降低一级备份、二级备份和日志备份的数据量和费用?
适当缩短备份数据的保留时长。具体操作请参见备份设置。
缩短一级备份的保留时长,如从7天缩短为3天。
缩短二级备份的保留时长,如从70天缩短为30天。
说明缩短一级和二级备份的保留时长存在一定风险,若您需要恢复的备份集超出了该保留时长,则无法进行恢复。
缩短日志备份的保留时长,如从7天缩短为3天。
说明缩短日志备份的保留时长存在一定风险,若您需要恢复的备份集超出了该保留时长,则无法进行按时间点恢复。
适当降低备份频率(即备份周期)。具体操作请参见备份设置。
降低一级备份的频率,如从每天备份一次降低为每周三次。
说明降低一级备份的频率可能会增加按时间点恢复数据的恢复时长。
降低二级备份的频率,如从每周备份三次降低为每周两次。
购买存储包抵扣一级备份、二级备份和日志备份的费用:备份的费用可使用存储包进行抵扣,更划算。具体请参见存储包。
删除集群回收站中不再需要的备份集,从而降低二级备份的费用。具体请参见删除备份。
手动备份仅支持一级备份吗?
是的。
手动备份保留时长是多久?
手动备份的备份文件的保留时长,由备份策略设置中数据备份的一级备份/数据备份设置的备份保留时长决定。
如何查看二级备份的大小?
您可以在控制台上配置与管理 > 备份恢复页面数据备份列表页签下查看二级备份的大小。
集群释放后,如何查看保留的备份集?
若您的集群释放时,选择了长期保留备份集,您可以前往PolarDB控制台上的集群回收站内查看。具体信息,请参考集群回收站。
如何将备份集下载到本地?
您可以通过下载备份文件,将集群的备份文件下载至本地。但下载的备份数据无法直接用于恢复到PolarDB MySQL版集群,可以用于从备份文件恢复到自建MySQL数据库。
恢复
支持自定义恢复后的新库或新表的名称吗?
支持。
没有数据备份可以按时间点恢复吗?
不可以。因为按时间点恢复是先将所选时间点前的一个全量数据备份恢复到集群,然后根据Redo日志增量恢复数据到所选时间点。
开启TDE的集群支持使用跨地域备份恢复功能吗?
支持。
跨地域恢复后的集群支持开启TDE功能吗?
支持。