跳到主要内容

9.2 恢复的实现技术

9.2.1 转储

转储按状态可分为两种:

  • 动态转储:转储过程中允许事务并发执行,得到的可能是一个不一致的副本,需要与日志配合才能将数据库恢复为一致的状态。
  • 静态转储:转储时数据库不允许更新(停止事务或进入只读模式),得到的是某一时刻一致的完整副本。

转储按方式可分为两种:

  • 海量转储:每次都转储全部数据。
  • 增量转储:每次转储更新过的数据。

以上可两两结合,例如动态海量转储、静态增量转储等。

9.2.2 日志

定义:日志是一个日志记录的序列,每条日志包含某个事务的重要操作,例如开始、更新、提交、终止等。

特点:

  • 日志的增长速度非常快。
  • 日志总是先于数据写回硬盘。

9.2.3 检查点

检查点(Checkpoint) 用于标记日志中已经写回硬盘的部分。

检查点以前的日志记录已经写回硬盘,这部分日志在恢复时不再被需要。