WRITE-AHEAD LOGGING

WAL의 두 가지 안전 규칙

데이터 페이지가 먼저 나가면 복구 기준이 흐려진다. 로그를 먼저 안정화해야 Redo와 Undo가 가능하다.

로그 우선커밋 보존미완료 취소

규칙 1: 페이지 기록 전 로그

UNDO 기준
A 변경 버퍼 페이지 수정
B 로그 안정화 취소 또는 재적용 정보 기록
C 페이지 flush Dirty Page 기록 가능

규칙 2: 커밋 응답 전 로그

REDO 기준
1 COMMIT 트랜잭션 완료 요청
2 로그 flush 커밋 로그까지 안정화
3 응답 장애 후 재적용 가능

핵심: WAL은 데이터 파일보다 로그를 복구의 기준선으로 삼는 약속이다.