즉시 갱신

커밋 전에 디스크 값이 바뀔 수 있으므로 장애 시 Undo가 필요합니다

핵심은 같은 변경이라도 로그, 데이터 파일, 커밋 상태가 동시에 확정되지 않는다는 점입니다.

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