9.2 恢复的实现技术
9.2.1 转储
转储按状态可分为两种:
- 动态转储:转储过程中允许事务并发执行,得到的可能是一个不一致的副本,需要与日志配合才能将数据库恢复为一致的状态。
- 静态转储:转储时数据库不允许更新(停止事务或进入只读模式),得到的是某一时刻一致的完整副本。
转储按方式可分为两种:
- 海量转储:每次都转储全部数据。
- 增量转储:每次转储更新过的数据。
以上可两两结合,例如动态海量转储、静态增量转储等。
9.2.2 日志
定义:日志是一个日志记录的序列,每条日志包含某个事务的重要操作,例如开始、更新、提交、终止等。
特点:
- 日志的增长速度非常快。
- 日志总是先于数据写回硬盘。
9.2.3 检查点
检查点(Checkpoint) 用于标记日志中已经写回硬盘的部分。
检查点以前的日志记录已经写回硬盘,这部分日志在恢复时不再被需要。