복구 기준점
차이는 하나입니다. 체크포인트 순간에 디스크까지 맞추는가, 상태표만 남기고 계속 가는가.

두 방식 모두 복구 범위를 줄이려는 목적은 같지만, Sharp Checkpoint는 체크포인트 시점의 디스크 상태를 확정하고, Fuzzy Checkpoint는 DPT/ATT를 남겨 나중에 Redo 시작점을 계산합니다.

Sharp Checkpoint 즉시 디스크 정렬

체크포인트 완료 시점에 메모리의 변경을 디스크와 맞춰서 기준점을 단순하게 만듭니다.

1
Dirty 페이지를 모두 기록

체크포인트를 끝내기 전에 변경된 페이지를 디스크로 밀어 넣어 버퍼와 디스크를 맞춥니다.

2
완료 시점이 곧 확정된 기준점

체크포인트가 끝났다면 그 이전 변경은 이미 디스크에 있다고 가정할 수 있습니다.

3
복구 판단이 단순함

Redo는 주로 체크포인트 이후 구간을 보면 되므로 복구 해석이 쉽습니다.

체크포인트 순간
버퍼의 Dirty 페이지가 사실상 정리된 상태

복구 시 별도 상태표보다 디스크가 이미 최신이라는 사실이 핵심 근거가 됩니다.

Fuzzy Checkpoint 실무 기본형

운영을 멈추지 않고 현재 상태를 기록한 뒤, Dirty 페이지는 백그라운드에서 점진적으로 반영합니다.

1
DPT와 ATT를 먼저 남김

어떤 페이지가 아직 더럽고, 어떤 트랜잭션이 진행 중인지 체크포인트 로그에 기록합니다.

2
트랜잭션은 계속 진행

체크포인트 시점에도 모든 Dirty 페이지가 디스크에 기록되는 것은 아니며, 플러시는 나중에 이어집니다.

3
복구 때 DPT로 Redo 시작점 결정

디스크가 완전히 맞춰져 있지 않으므로 가장 오래된 recLSN부터 다시 적용해야 합니다.

체크포인트 순간
Dirty 페이지가 메모리에 남아 있어도 체크포인트는 성립

복구는 디스크 상태만 보지 않고 체크포인트에 기록된 DPT를 함께 읽어 시작 위치를 잡습니다.

운영 의미
복구는 단순하지만 운영 중 부담이 큼

체크포인트 시점에 디스크 동기화를 강하게 요구하므로 실서비스에는 비실용적입니다.

복구 해석은 늘어나지만 성능을 지키기 쉬움

그래서 상용 DBMS는 보통 Fuzzy Checkpoint를 쓰고, 복구 시 DPT를 참조합니다.