공부/DB

[DB] Undo Log & Redo Log

min1119 2025. 2. 28. 14:07
Undo Log
  • 실패한 트랜잭션에 대해 데이터 변경 사항 롤백
  • 트랜잭션 원자성(Atomicity)을 지원한다.
  • 데이터베이스 일관성을 보장
Undo Log 동작 방식
  • 트랜잭션 시작 시 이전 값(Old Value)을 로그에 기록
  • 트랜잭션 도중 장애 발생 시 Undo Log를 사용하여 이전 값으로 복구
  • 트랜잭션이 커밋되면 Undo Log는 삭제되거나 무시된다.

Redo Log
  • 커밋된 트랜잭션의 변경 사항을 장애 복구 시 재실행한다.
  • 데이터베이스 지속성(Durability)을 보장한다.
Redo Log 동작 방식
  • 트랜잭션 변경 사항이 로그에 기록된다.
  • 시스템 장애가 발생하면 Redo Log에 저장된 변경 사항을 다시 적용한다.
  • 트랜잭션이 커밋된 경우에만 Redo Log가 사용된다.

트랜잭션 흐름에서의 역할
  • 트랜잭션 시작
  • 변경 사항을 Undo Log와 Redo Log에 기록
  • 커밋
    • Redo Log 보존
    • Undo Log 삭제
  • 장애 발생 시
    • Undo Log → 트랜잭션 롤백
    • Redo Log → 트랜잭션 재실행

2025.02.28 - [공부/DB] - [DB] Checkpoint 아키텍처

'공부 > DB' 카테고리의 다른 글

[DB] Checkpoint 아키텍처  (0) 2025.02.28
[DB] VARCHAR와 TEXT  (0) 2023.11.22
[DB] Index  (2) 2023.11.14
[DB] Charset, Collation, utf8mb4  (0) 2023.11.09
[DB] CHAR과 VARCHAR  (0) 2023.11.07