PolarDB集群的数据备份是指在某个时间点上对集群的全量数据进行备份,生成一个备份集(快照)。该备份过程采用ROW(Redirect-on-Write)快照机制,直接存储在PolarDB集群的分布式存储系统上。在保存备份时,数据并未被真正复制。而当数据块发生修改时,系统会将历史版本的数据块保留给快照,同时生成一个新的数据块被原数据引用(Redirect)。本文将详细介绍创建备份、删除备份以及在数据库内删除数据时数据块的变化过程。
在创建一级备份时,该备份集仅引用PolarDB集群内的数据块,实际上并不占用存储空间。而是当数据块发生修改时,将历史版本的数据块转移到备份集中。
假设某PolarDB集群在09:00、10:00和11:00分别创建了数据备份。在创建数据备份之后,集群内数据经历了新增和修改的操作。对此,该集群数据备份的原理说明如下:
在删除一个备份集时,与该备份集共享的数据块会被转移至相应的数据备份集中,而无用的数据块则会被直接释放。
示例
假设某PolarDB集群存在三个数据备份:备份1、备份2和备份3,其包含的数据块示例如下:
说明
- 当前示例数据来源于创建备份示例。
那么删除数据备份的原理说明如下:
在PolarDB集群内删除数据表时,主版本将释放对应表所包含的数据块,并将这些数据块保留至备份集中。
说明
示例
假设某PolarDB集群有一个备份1,包含数据块A、B、C、D、E,均来源于主版本。
在某个时刻,PolarDB集群释放了数据块B、C、D、E。此时,数据库块B、C、D、E将被转移至备份1,因此会出现在主版本数据清理后存储空间大小上涨的情况。
当备份1过期后,数据块B、C、D、E才会被真正释放,此时存储空间将减少。
最后修改时间:2025-03-19 14:19:34
文章转载自胖橘,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。