독학사/데이터베이스

그림자 페이징 기법

개발자 입니다 2022. 10. 18. 19:31

평가영역

  • 상세 평가내용 없음

그림자 페이징 기법

로그를 이용하지 않고 데이터베이스에 대한 페이지 테이블 전체를 교체하는 기법

  • 데이터베이스를 일정 크기의 블록인 페이지 단위로 저장
  • 현재 페이지(주기억장치), 그림자 페이지(하드디스크) 총 2가지를 생성
  • 트랜잭션 중 데이터가 변경되면 현재 페이지만 수정
  • 트랜잭션이 완료되면 그림자 페이지도 수정
  • 그림자 페이징 기법은 Undo 연산이 필요없다.(그림자 페이지를 새로 가져오면 되니까)

 


 

장점

  • 로그 레코드를 출력하는 오버헤드가 없고, 디스크 접근 횟수를 줄일 수 있다.
  • 오버헤드, Undo나 Redo연산을 필요로 하지 않기 때문에 회복 속도가 빠르다.

단점

  • DB페이지 변경때마다 페이지의 물리적 위치가 변하면서 데이터 단편화 발생
  • 현재 페이지 테이블이 새로운 그림자 페이지 테이블이 되면 기존에 남아있는 페이지들은 쓰레기 데이터가 된다.(쓰레기 수집 필요)
  • 페이지 테이블이 크면 그림자 페이지 테이블을 복사하고 기록하는데 따르는 오버헤드가 커진다.