언두로그 vs 리두 로그

박상준·2024년 4월 13일
0

mysql

목록 보기
7/8
post-custom-banner

언두 로드(Undo Log)

목적

  • DB 트랜잭션이 실패 혹은 롤백(Rollback) 될 때, 이전 상태로 데이터를 복구하는 것
  • 트랜잭션의 원자성(ACID) 와 일관성(Consistency) 을 보장하는 데 필요함

작동 방식

  • 트랜잭션이 데이터를 변경할 때, 변경 전의 원래 데이터 상태를 언두 로그에 기록
  • 만약 트랜잭션이 실패하거나 사용자가 명시적으로 롤백을 요청하면, 언두 로그에 기록된 정보를 사용하여 데이터를 원래 상태로 복구

저장 위치

  • 언두 로드는 주로 DB의 시스템 테이블 스페이스
  • 별도의 언두 테이블스페이스에 저장

리두 로드(Redo Log)

목적

  • 리두 로그의 주요 목적은 DB가 시스템 장애 후에도 데이터 무결성 유지 + 복구
  • 트랜잭션의 내구성(Durability) 보장

작동 방식

  • 트랜잭션이 데이터를 변경할 때, 해당 변경 사항(수행된 작업)을 리두 로그에 기록합니다.
  • 시스템 장애가 발생한 경우, 리두 로그에 기록된 정보를 사용하여 데이터베이스를 마지막 일관된 상태로 복구

차이점

  1. 목적과 사용 시점
    • 언두 로그는 트랜잭션의 롤백이 필요한 경우 이전 상태로 복구
    • 리두 로그
      • 시스템 장애 후 DB 복구 시 사용함.
  2. 데이터 복구 방향
    • 언두 로그는 트랜잭션을 이전 상태로 되돌림
    • 리두 로그 트랜잭션을 재실행 하여 DB 복구
  3. 저장 정보
    • 언두 로그
      • 변경 전 데이터 상태
    • 리두 로그
      • 변경 사항 기록
profile
이전 블로그 : https://oth3410.tistory.com/
post-custom-banner

0개의 댓글