커밋은 끝났지만 데이터 반영이 덜 끝난 경우
같은 변경 기록도 커밋 완료면 Redo, 미커밋이면 Undo가 맡습니다.
로그의 중심 축은 원자성(A)과 지속성(D)입니다.
Undo가 미완료 변경을 시작 전 상태로 되돌립니다.
Undo + Redo가 깨진 중간 상태를 최종 상태로 정리합니다.
격리성은 주로 락·MVCC가 맡고 로그는 복구 때 관여합니다.
Redo가 커밋 결과를 재적용해 장애 뒤에도 남깁니다.
커밋이면 살리고, 아니면 지웁니다.
커밋은 끝났지만 데이터 반영이 덜 끝난 경우
끝나지 못했거나 취소되어 결과를 남기면 안 되는 경우
로그의 새 값을 따라 커밋 결과를 복원합니다.
로그의 이전 값으로 부분 실행 흔적을 제거합니다.
최종 결과가 그대로 유지됩니다.
커밋되지 않은 변경은 없었던 것처럼 정리됩니다.