数据库备份
1 备份的种类
备份既可以表示备份的行为,也可以表示备份的数据。按照不同的维度,备份可以分为不同的种类。每种类型均有其特点,和适用的场景。
1.1 热备份和冷备份
从备份行为考虑,根据执行操作时是否需要停止数据库服务,可以分为热备份和冷备份。通常,对正在提供服务的数据库,我们通过热备份实现数据复本的目的,该场景冷备份不宜使用,但热备份需要考虑数据的一致性问题。冷备份并非完全对生产环境无用,在涉及数据割接、迁移等需要业务中断的场景下,需要冷备份确保数据完整性。
1.2 物理备份和逻辑备份
数据库中存储的是记录,如果备份精确到记录的粒度,则称为逻辑备份。相反地,物理备份的粒度是承载持久化数据的文件整体。
由于物理备份操作的对象粒度更大,因此备份效率相较于逻辑备份通常也更高。物理备份有多种方式,最简单的方法就是把持久化数据文件本身做复制。也可以是针对持久化数据所在的磁盘做快照,以快照作为备份。但以上两种方式,由于都不和数据库直接通信,因此如果希望实现热备份,则需要在备份数据的一致性上做额外的考虑。另外一种实现物理热备份的方式,需要和数据库服务本身有交互,以解决一致性问题,如mysql的innobackupex工具。
逻辑备份虽然相较物理备份效率更低,但它能实现更精确的控制,当需要精确备份或恢复到某一条记录时十分有用,也可以用于部分数据的备份和恢复。由于逻辑备份操作的对象是记录,需要了解具体数据库的知识,因此每种数据库引擎有其特有的备份工具,如mysql的mydumper。
1.3 全量备份和增量备份
按照备份目标数据的范围,备份可以分为全量的和增量的。全量备份总是备份其执行时刻的全部数据,单个全量备份是完整独立的。增量备份则是基于上一次备份后变化的数据的备份,因此增量备份通常需要和多个备份文件一起使用。
从备份效率的角度考虑,全量备份适合采用物理备份。从技术实现的角度考虑,增量备份适合采用逻辑备份。从生产实践的角度考虑,以较低频率周期执行全量备份(如一天一次),同时以较高频率周期执行增量备份(如五分钟一次),可以同时提升备份的效率,减小备份数据空间占用,同时又获得备份数据的及时性,提升RPO指标。
2 备份的使用
2.1 数据恢复
备份最常见的用途即是恢复,包括灾难恢复、攻击恢复等等。
恢复关注的两个指标,RPO和RTO,其中数据最多丢失时长我们在前一个章节提到可以通过频繁的增量备份解决,理论上最多丢失一个增量备份周期的数据。而恢复时间,则取决于恢复效率。对于数据恢复场景而言,总是期望恢复到最新的数据,因此需要使用最近的一次全量备份以及其后的增量备份。由于增量备份恢复速度较慢,因此恢复时长很大程度受限于恢复使用的增量备份数量。可以通过更频繁的执行全量备份,获得更快的恢复速度,也可以考虑合理安排全量备份的执行计划,提升业务高峰期的RTO。
2.2 创建副本
不同于数据恢复,备份也可用于创建数据库副本,包括主备数据库的备机或者只读副本。通常的做法是,先对主库作一次全量备份,然后使用该全量备份恢复到一个空库,最后建立新库到主库的复制关系。
相比于数据恢复场景,该场景下由于主库数据是正常且完整的,因此在创建副本效率上可以进一步提升,比如通过创建主库的磁盘快照直接挂在到副本主机上。
3 华为云数据库
3.1 便捷的备份管理
华为云数据库提供便捷的备份策略配置,支持每天在预定时间段内自动执行全量备份,同时每五分钟执行一次增量备份,确保故障时最多丢失5分钟数据。
自动备份保留期最大两年,并支持自定义配置,确保满足需要更长可恢复时间范围的业务场景。除了自动备份,同时支持手工执行全量备份,保留期永久,适用于更灵活的业务备份诉求。
华为云数据库备份文件使用OBS海量存储,空间无限扩展,价格低廉,同时为每个实例赠送等同于其存储空间的免费备份空间。
3.2 多种恢复手段
华为云数据库支持多种恢复手段,适用于不同业务场景需要,包括
备份文件恢复到当前实例/已有实例/新实例
时间点恢复到当前实例/已有实例/新实例
表级时间点恢复到当前实例
此外,华为云数据库还提供了备份文件的下载功能,通过此功能,您可以通过分析备份文件获得待恢复数据范围的决策依据。
想了解更多精彩内容,请扫码关注【HW云数据库】
- 点赞
- 收藏
- 关注作者
评论(0)