CheckPoint 技术
2020-05-02 本文已影响0人
lsh的学习笔记
为了避免数据丢失,当前事务数据库普遍采用 Write Ahead Log
策略,即当事务提交时
,先写重做日志(提交事务会将重做日志刷盘),再修改页。发生宕机,通过重做日志恢复数据。
检查点技术目的:
- 缩短数据库恢复时间;
- 缓冲池不够用时,将脏页刷新到磁盘;
- 重做日志不可用时,刷新脏页。
总的来说是:为了保证缓冲池有足够可用的页。
宕机
宕机时,不需要重做所有日志,因为 Checkpoint 之前的页已经刷盘。只需重做 Checkpoint 之后的日志。大大缩短恢复时间。
缓冲池不够用
LRU表溢出最近最少使用页,如果为脏页,强制执行 Checkpoint 刷盘。
重做日志不可用
为什么会这样?因为重做日志的设计时循环使用,不是无限增大。