경험 중심 1인칭 답변
Transactional RDBMS에서 Redo와 Undo 로그는 트랜잭션의 원자성(Atomicity)과 내구성(Durability)을 보장하는 핵심 메커니즘입니다. Redo 로그는 트랜잭션이 커밋된 변경 사항을 기록하며, 시스템 장애 후 재시작 시 커밋된 데이터를 복구하는 데 사용됩니다.
Undo 로그는 트랜잭션이 변경하기 전의 값을 기록해, 롤백이 필요할 때 이전 상태로 되돌리는 데 사용됩니다. 데이터베이스 수업에서 Write-Ahead Logging(WAL) 원칙을 배웠는데, 실제 데이터를 디스크에 쓰기 전에 로그를 먼저 기록하는 방식이 장애 복구의 기반입니다. 이 두 로그가 함께 작동하기 때문에 ACID 특성 중 원자성과 지속성이 동시에 만족됩니다. 개념적으로 이해하는 것과 실제 복구 과정을 추적해보는 것은 다르다는 것도 실습을 통해 배웠습니다. 앞으로도 DB 내부 동작을 이해할 때 개념보다 장애 시나리오를 기준으로 이해하는 방식을 유지하겠습니다.
Redo·Undo가 각각 언제 필요한지 알면 설계 결정도 명확해집니다.