备份概述
GaussDB支持数据库实例的备份和恢复,以保证数据可靠性。备份目前将以未加密的方式存储。
备份的作用
当数据库或表被恶意或误删除,虽然GaussDB支持高可用,但备机数据库会被同步删除且无法还原。因此,数据被删除后只能依赖于实例的备份保障数据安全。
全量备份
全量备份(Full Backup)表示对所有目标数据进行备份,包含备份时刻点上数据库的全量数据,耗时时间长(和数据库数据总量成正比),自身即可恢复出完整的数据库。全量备份总是备份所有选择的目标,即使从上次备份后数据没有变化,删除实例时,全量备份可以选择是否保存。
差量备份
差量备份(Differential Backup)只包含从指定时刻点之后的增量修改数据,耗时时间短(和增量数据成正比,和数据总量无关),但是必须要和全量备份数据一起才能恢复出完整的数据库。GaussDB默认自动每30分钟对上一次自动备份后更新的数据进行备份,支持修改备份周期为最小15分钟,最大72小时。
日志备份
日志备份(Log Backup),系统自动每5分钟进行一次备份,备份这5分钟内对数据库的所有写入和更新操作,通过日志备份可以将数据恢复到历史时间的任意一秒。
表级全量备份
表级全量备份(DatabaseTable Backup)表示对指定表进行备份,包含备份时刻点上数据库指定表的全量数据,耗时时间长(和数据库表数据总量成正比),自身即可恢复出完整的表。表级全量备份总是备份所有选择的目标表,即使从上次备份后数据没有变化,删除实例时,自动全量表级备份会直接删除,手动全量表级备份可以保留。
表级差量备份
表级差量备份(DatabaseTable Differential Backup)只包含从指定时刻点之后指定表的增量修改数据,耗时时间短(和表级增量数据成正比,和数据总量无关),但是必须要和表级全量备份数据一起才能恢复出完整的表。GaussDB默认自动每30分钟对上一次自动表级备份后更新的表数据进行备份,支持修改备份周期为最小15分钟,最大72小时。删除实例时,表级差量备份会直接删除。
备份原理
图1 全量备份示意图
全量备份:第一次的全量备份后,无论数据是否变化,第二次备份和第三次备份都会将所有的数据全部进行备份。
图2 差量备份示意图
差量备份:第一次的全量备份之后,第二次备份只会备份数据变化的数据,第三次备份只会备份第二次备份后数据变化的数据。
图3 日志备份
日志备份:全量备份和差量备份、差量备份和差量备份之间,发生变化的数据。
自动备份
GaussDB会在数据库实例的备份时段中创建数据库实例的自动备份。系统根据您指定的备份保留期保存数据库实例的自动备份。
表级自动备份
GaussDB会在数据库实例的备份时段中创建数据库实例指定表的自动备份。系统根据您指定的备份保留期保存数据库实例表的自动备份。如果需要,您可以将保存的备份恢复。如果用户设置了表级备份策略,扩容实例CN或者分片后,系统会进行一次表级自动备份。
手动备份
用户还可以创建手动备份对数据库进行备份,手动备份是由用户启动的数据库实例的全量备份,会一直保存,直到用户手动删除。
手动表级备份
用户还可以创建手动表级备份对数据库指定表进行备份,手动表级备份是由用户启动的数据库实例指定表的全量备份,会一直保存,直到用户手动删除。
备机备份
当前全量备份、差量备份默认在主DN上执行,在备份过程中会影响主DN的CPU和IO,GaussDB支持开启备机备份功能,开启备机备份后,拷贝、压缩文件等操作均会切换到备DN上执行,减少对主DN业务的影响。
注意事项
- GaussDB库表级备份恢复功能仅支持V2.0-3.200及以上版本实例,暂不支持单副本实例。
- GaussDB支持实例级全量备份、表级全量备份、实例差量备份、表级差量备份并发执行,单副本部署形态下,只支持V2.0-3.0以上的数据库引擎版本。
更多详情请参考GaussDB 文档中心:https://doc.hcs.huawei.com/db/zh-cn/gaussdbqlh/24.1.30/productdesc/qlh_03_0001.html