문제
데이터베이스 회복 기법 중 체크포인트(Checkpoint) 기법의 동작 원리를 설명하고, 장애 발생 시 체크포인트 이전과 이후 트랜잭션들에 대한 회복 처리 방식의 차이점을 Redo/Undo 관점에서 서술하시오. 또한 퍼지 체크포인트(Fuzzy Checkpoint)가 일반 체크포인트 대비 갖는 장점을 함께 설명하시오.
정답
체크포인트는 특정 시점에서 활성 트랜잭션 목록과 관련 로그 위치를 기록하여 회복 시작 지점을 제한하는 기법이다. 장애 발생 시 체크포인트 이전의 대부분 작업은 회복 범위에서 제외하고, 체크포인트 이후 트랜잭션만을 중심으로 커밋된 것은 Redo, 미완료된 것은 Undo 처리하여 회복 시간을 단축한다. 퍼지 체크포인트는 시스템을 완전히 중단하지 않고 백그라운드에서 점진적으로 체크포인트를 수행하므로, 일반 체크포인트보다 시스템 가용성과 처리 성능 측면에서 유리하다.
체크포인트Checkpoint퍼지 체크포인트Fuzzy CheckpointRedoUndo회복 시간활성 트랜잭션로그 위치
해설
체크포인트는 장애 발생 시 전체 로그를 처음부터 분석하지 않고도 회복 범위를 줄이기 위한 기법이다. 일반적으로 체크포인트 시점의 활성 트랜잭션과 로그 위치를 기록해 두고, 장애가 발생하면 그 시점 이후를 중심으로 회복한다. 커밋된 트랜잭션은 Redo, 완료되지 않은 트랜잭션은 Undo의 대상이 된다. 퍼지 체크포인트는 시스템을 멈추지 않고 백그라운드에서 수행되므로, 일반 체크포인트보다 가용성과 성능 저하 측면에서 유리하다.