Enterprise Infrastructure Intelligence ● Certified engineers online · Fast response guaranteed
웹서버/DB

Redo Log와 Undo Log: 데이터베이스 복구의 핵심 메커니즘

Redo Log는 커밋된 트랜잭션의 변경사항을 재적용하여 내구성을 보장하고, Undo Log는 미커밋 트랜잭션을 롤백하고 MVCC를 지원합니다. Write-Ahead Logging(WAL) 원칙에 따라 두 로그는 데이터베이스 복구와 일관성 유지의 필수 요소입니다.

2026.09.11  ·  27회  · 

Redo Log와 Undo Log의 역할

Redo Log는 충돌 복구 중 미완료 트랜잭션으로 인한 데이터 손상을 바로잡기 위한 디스크 기반 데이터 구조입니다. 모든 데이터 변경사항이 실제 데이터 파일에 기록되기 전에 로그에 먼저 기록되므로, 시스템 장애 후 커밋된 변경사항을 재적용하여 내구성을 보장합니다.

Undo Log는 트랜잭션이 수행된 데이터의 이전 상태(before-image)를 저장합니다. 트랜잭션 롤백이나 다중 버전 동시성 제어(MVCC)를 통해 다른 트랜잭션의 작업이 진행 중인 상황에서도 일관된 스냅샷을 제공합니다.

Write-Ahead Logging 원칙

WAL의 핵심은 데이터 파일 변경 전에 변경사항이 로그에 기록되어야 한다는 원칙입니다. 이를 통해 시스템 충돌 시에도 로그로부터 변경사항을 복구할 수 있으며, 트랜잭션 커밋 시마다 모든 데이터 페이지를 디스크에 플러시할 필요가 없어 성능을 크게 향상시킵니다.

데이터베이스별 구현 차이

MySQL InnoDB는 Redo Log와 별도의 Undo 테이블스페이스를 유지하여 두 메커니즘을 명시적으로 분리합니다. 반면 PostgreSQL은 MVCC 방식으로 UPDATE 시 새로운 행 버전을 생성하므로 별도의 Undo Log 파일이 없으며, WAL만으로 모든 복구 시나리오를 처리합니다.

WIKIDATA WORKSTATION
AI·렌더링에 최적화된
전문가용 워크스테이션
NVIDIA RTX GPU · 최대 192GB 메모리 · ECC 지원