즉시 갱신
커밋 전에 디스크 값이 바뀔 수 있으므로 장애 시 Undo가 필요합니다
핵심은 같은 변경이라도 로그, 데이터 파일, 커밋 상태가 동시에 확정되지 않는다는 점입니다.
확인할 상태
1. 시작 상태
아직 변경 전
2. 활동 중, 아직 미커밋
즉시 디스크 반영 가능
3. 장애 후 복구
Undo로 원복
트랜잭션
UPDATE A: 100 → 200
작업은 진행 중이지만 커밋은 아직 아님
로그
데이터 파일
A = 200
커밋 전인데도 디스크에 먼저 반영될 수 있음
A = 200
미커밋 값이 디스크에 남아 일관성이 깨진 상태
COMMIT
복구
Undo 실행
A: 200 → 100
디스크에 남은 미커밋 값을 원래 값으로 되돌림
학습 포인트: 즉시 갱신은 로그만 먼저 남기는 방식이 아니라, 데이터 파일도 커밋 전에 바뀔 수 있는 방식입니다. 그래서 장애가 나면 Redo 정보만 보는 것으로 끝나지 않고, 디스크에 남은 미커밋 값을 Undo 로 되돌려야 합니다.