DBAtlas · 数据库运维图谱

决策:选择哪种备份策略?

选择备份策略需要平衡三个因素:可容忍的数据丢失量(RPO)、数据量,以及必须多快恢复(RTO)。没有一种方法适合所有场景。这棵决策树从 RPO 目标出发,引导你在逻辑导出、物理备份 + PITR 和快照之间做出选择,并提醒你 3-2-1 和验证是不容妥协的。

你的数据丢失目标(RPO)是多少?

从最具决定性的约束开始:发生灾难时,你最多能承受丢失几分钟/几小时的数据?如果要求接近零的数据丢失,则必须持续归档日志(PITR);如果可以接受每日/每周备份的容忍度,较简单的方法就足够了。RPO 决定了策略的框架。

  • 接近零 — 我必须能够回到任意时间点
  • 可以接受每日/定期备份(丢失几小时)
  • 先提醒我通用最佳实践(3-2-1 / 验证)

数据量和可移植性要求是什么?

如果定期备份就足够,下一个问题是规模和用途:数据库是小/中型,且希望备份可移植到其他环境/版本,还是数据量大,主要关注在几分钟内恢复?这决定了选择逻辑导出还是快照。

  • 小/中型,可移植且跨版本兼容
  • 数据量大,恢复必须非常快(低 RTO)

建议:逻辑导出(dump)

在逻辑层面导出数据(模式定义 + 行);输出为 SQL/文本(pg_dump plain 格式、mysqldump)或工具专有的二进制转储(pg_dump -Fc、Oracle Data Pump)。适用于中小型数据库、迁移、版本升级以及恢复选定表/对象的灵活、可移植方法。

建议:物理备份 + WAL/归档日志(PITR)

定期进行物理基础备份,并持续归档事务日志(WAL/redo/binlog)。这样可以执行时间点恢复(Point-in-Time Recovery)到任意时刻,将数据丢失降到接近零。

建议:快照

在存储或虚拟化层对数据进行块级快照。即使对于非常大的数据库,备份和恢复也非常快;但它依赖于基础设施,需要谨慎使用。

建议:3-2-1 规则 + 异地 + 强制验证

无论选择哪种方法,这些原则都必须作为策略的上层约束。仅有备份是不够的;备份必须位于不同介质、不同位置,并定期测试。这是对上述所有选项的补充框架。

在 DBAtlas 中打开 →