InnoDB의 WAL과 장애 복구
COMMIT에 성공한 값은 어떻게 살아남을까요?
UPDATE의 흔적부터 WAL과 COMMIT, Checkpoint와 장애 복구 실험까지 따라갑니다.
총 6편 · 2026.07.22 수정
COMMIT 직후 서버가 꺼져도 값은 남을까
UPDATE가 데이터 페이지와 Undo, Redo에 남기는 흔적을 따라갑니다.
COMMIT과 Page Flush는 같은 일이 아니다
COMMIT과 페이지 플러시가 나뉘는 이유를 WAL과 STEAL/NO-FORCE로 살펴봅니다.
COMMIT은 Redo Log의 어디까지 기다리는가
Redo Log의 write와 durable flush를 구분하고, COMMIT이 기다리는 LSN을 살펴봅니다.
Checkpoint는 복구 시작점을 어떻게 옮기는가
Checkpoint, Page LSN, Doublewrite가 복구 과정에서 맡는 역할을 정리합니다.
InnoDB는 왜 Redo한 뒤 Undo하는가
장애 뒤 Redo를 적용하고, 미완료 트랜잭션을 Undo로 되돌리는 순서를 따라갑니다.
SIGKILL로 확인한 커밋과 롤백
MySQL을 강제로 종료한 뒤 커밋과 롤백을 확인하고, 실험으로 단정할 수 없는 범위를 구분합니다.