Undo Log
- 실패한 트랜잭션에 대해 데이터 변경 사항 롤백
- 트랜잭션 원자성(Atomicity)을 지원한다.
- 데이터베이스 일관성을 보장
Undo Log 동작 방식
- 트랜잭션 시작 시 이전 값(Old Value)을 로그에 기록
- 트랜잭션 도중 장애 발생 시 Undo Log를 사용하여 이전 값으로 복구
- 트랜잭션이 커밋되면 Undo Log는 삭제되거나 무시된다.
Redo Log
- 커밋된 트랜잭션의 변경 사항을 장애 복구 시 재실행한다.
- 데이터베이스 지속성(Durability)을 보장한다.
Redo Log 동작 방식
- 트랜잭션 변경 사항이 로그에 기록된다.
- 시스템 장애가 발생하면 Redo Log에 저장된 변경 사항을 다시 적용한다.
- 트랜잭션이 커밋된 경우에만 Redo Log가 사용된다.
트랜잭션 흐름에서의 역할
- 트랜잭션 시작
- 변경 사항을 Undo Log와 Redo Log에 기록
- 커밋
- 장애 발생 시
- Undo Log → 트랜잭션 롤백
- Redo Log → 트랜잭션 재실행
2025.02.28 - [공부/DB] - [DB] Checkpoint 아키텍처