1、简述
数据库备份可以从多个维度进行分类,本文整理了常见的几种分类方式。
2、按备份时数据库的运行状态分类
| 类型 | 说明 | 特点 |
|---|---|---|
| **冷备份(Cold Backup)** | 在数据库关闭或处于只读状态时进行的备份 | 一致性好,实现简单;但需停机,影响业务连续性 |
| **热备份(Hot Backup)** | 在数据库正常运行、可读写状态下进行的备份 | 不中断业务;实现较复杂,依赖数据库日志机制 |
| **温备份(Warm Backup)** | 数据库处于只读状态时的备份 | 介于冷备与热备之间,允许查询但不允许写入 |
3、按备份的数据范围分类
| 类型 | 说明 | 特点 |
|---|---|---|
| **全量备份(Full Backup)** | 备份整个数据库的所有数据 | 恢复简单、速度快;但备份时间长、占用空间大 |
| **增量备份(Incremental Backup)** | 只备份自上次备份以来发生变化的数据 | 备份快、占用空间小;恢复时需依赖前序备份,过程较复杂 |
| **差异备份(Differential Backup)** | 只备份自上次全量备份以来发生变化的数据 | 恢复时只需全量+最新差异备份;空间占用介于全量与增量之间 |
对比示例
- 增量备份链:
全量 → 增量1 → 增量2 → 增量3,恢复需依次应用所有增量 - 差异备份链:
全量 → 差异1(含增量1) → 差异2(含增量1+2),恢复只需全量+最新差异
4、按备份的数据内容分类
| 类型 | 说明 | 适用场景 |
|---|---|---|
| **物理备份(Physical Backup)** | 直接复制数据库的物理文件(数据文件、控制文件、日志文件等) | 大型数据库、需要快速恢复的场景 |
| **逻辑备份(Logical Backup)** | 导出数据库中的逻辑对象(表结构、数据行等),通常保存为SQL语句或文本 | 跨版本迁移、跨平台迁移、小规模数据 |
5、按备份的存储位置分类
| 类型 | 说明 |
|---|---|
| 本地备份 | 备份数据存储在数据库所在的同一台服务器或本地存储设备上 |
| 异地备份 | 备份数据传输并存储在远程位置,用于防范本地灾难 |
| 云备份 | 备份数据存储在公有云/私有云存储中,便于弹性扩展和远程访问 |
6、按备份的频率与策略分类
| 类型 | 说明 |
|---|---|
| 定期备份 | 按固定周期(每日、每周等)执行,如全量周备+增量日备 |
| 实时备份 / 持续备份 | 通过日志传输或复制技术,近乎实时地同步数据变更 |
| 按需备份 | 在重大操作(如版本升级、数据迁移)前临时执行 |
7、按日志 / 时间点能力划分
| 类型 | 说明 |
| 快照备份 | 存储层快照(LVM、云盘快照),秒级打快照,本质偏向物理备份 |
| **事务日志备份(Binlog/Archivelog/WAL)** | 单独归档日志,用来做时间点恢复 PITR,可以恢复到任意一秒 |
|---|
8、常用组合方案参考
- 中小库:每周全量 + 每日差异 + 实时归档日志
- 超大库:每周全量 + 每小时增量 + 持续归档日志 + 异地存储