본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

그림자 페이징 회복 기법

IT위키
Shadow Paging Recovery
데이터베이스 트랜잭션 수행 시 Shadow Page라는 복제본을 생성하여, 데이터베이스 장애 시 이를 이용해 복구하는 기법
  • Current Page Table
  • Shadow Page Table

  • 트랜잭션이 실행되는 메모리상의 Current Page Table과 하드디스크의 Shadow Page Table 이용
  • 트랜잭션 시작시점에 Current Page Table과 동일한 Shadow Page Table 생성
  • 트랜잭션이 성공적으로 완료될 경우 Shadow Page Table 삭제
  • 트랜잭션이 실패할 경우 Shadow Page Table을 Current Page Table로 함
  • 장애가 나면 현재 페이지 테이블과 바뀐 페이지를 버리고 그림자 페이지 테이블로 돌아가면 되므로 UNDO 도 REDO 도 필요 없다. 엘마스리(Elmasri)와 나바테(Navathe)는 이를 NO-UNDO/NO-REDO 기법으로 분류한다.[1]
  • 단일 사용자 환경에서는 로그가 필요 없지만, 여러 트랜잭션이 동시에 실행되면 병행 제어를 위해 로그와 검사점을 함께 쓴다[1]
  • 갱신한 페이지가 디스크의 다른 위치에 새로 쓰이므로 관련 페이지가 흩어지고, 페이지 테이블이 크면 커밋 때마다 쓰는 부담이 크며, 버려진 옛 페이지를 회수(가비지 컬렉션)해야 한다.[2]
  • 지연 갱신은 NO-UNDO/REDO, 즉시 갱신은 UNDO/REDO 이다 → 로그 기반 회복 기법
  1. ↑ 1.0 1.1 Ramez Elmasri, Shamkant B. Navathe, 「Chapter 22: Database Recovery Techniques」 강의 슬라이드, Pearson, 2016(Purdue University CS448 게시본), https://www.cs.purdue.edu/homes/bb/cs448_Fall2017/lpdf/Chapter22.pdf, 확인일: 2026-11-04.
  2. ↑ 「Chapter 14. Backup and Recovery」, University of Cape Town Database Systems 강의 노트, https://www.cs.uct.ac.za/mit_notes/database/htmls/chp14.html, 확인일: 2026-11-04.