# 数据丢失快速恢复的重要性

+ 数据丢失快速恢复目的：尽快修复数据，恢复业务。

![left](./student-guide/diagram/22-The-importance-of-fast-recovery-01-01.png)

-------------------------------------------------------------

在业务系统运行的过程中，数据误删除的情况屡见不鲜。第一优先级是：尽快修复数据，恢复业务！
按照数据备份方式的不同，我们可以将数据恢复的常见方式分为：
典型的 DBA 任务

从物理 / 逻辑备份进行恢复。恢复时长一般情况下，和数据量正相关，业务端影响会相对增加。

数据库架构 -- 从库支持延时复制
数据库高可用架构中存在从库，并且从库支持延时复制。如 MySQL 延时复制，Oracle DataGuard 延时复制等。满足在数据丢失的情况下，实现快速恢复。
  - 劣势
    - 硬件成本较高：需构建一套从库
    - 恢复数据的时间跨度有限，且相对不灵活：由延时复制的相关参数决定

数据回放平台
完整的数据回放流程，满足数据快速恢复。如 MySQL 基于 Binlog row 格式下的原生数据回放，便于数据丢失的情况下，数据快速恢复。
  - 优势
    - 平台自动化，操作便捷，数据一键恢复
  - 劣势
    - 成本较高
      - 人力成本：开发构建平台
      - 硬件成本：单独的日志存储服务器或从库

基于 MVCC 的快速恢复
 基于 MVCC 历史版本恢复，如 Oracle 的 Flashback table。
  - 优势
    - 数据恢复操作简单便捷，降低恢复任务的复杂度：通过标准 SQL 接口读取历史数据功能
    - 恢复时效性好：无需回放备份文件，基于 MVCC 读取数据，所见即所得
    - 硬件成本低：除 MVCC 历史版本会占用额外的存储空间外，成本基本可控
  - 劣势
    - 恢复数据的时间跨度有限：考虑到性能问题，数据的历史版本信息会定期删除，不会无限保留