ARIES 회복 기법

From CS Wiki
Revision as of 06:34, 5 November 2019 by 116.120.12.172 (talk)
Algorithms for Recovery and Isolation Exploiting Semantics; ARIES Recovery Algorithm; ARIES Recovery method
  • IBM 펠로 C. Mohan이 발명한 데이터베이스 복구 알고리즘
  • IBM DB2, 마이크로소프트 SQL 서버, 그리고 수많은 상용 DBMS에서 사용

특징

기본 개념

  • No-Force, Steal
  • REDO 중 Repeating history: 붕괴가 발생했을 때의 데이터베이스 상태를 복구하기 위하여 붕괴 발생 이전에 수행했던 모든 연산을 다시 한번 수행. 붕괴가 발생했을 때 완료되지 않은 상태였던 (진행 트랜잭션)은 UNDO
  • UNDO 중 Logging: UNDO를 할 때에도 로깅을 함으로써 회복을 수행하는 도중에 실패하여 회복을 다시 시작할 때에 이미 완료된 UNDO 연산은 반복하지 않음

수행 3단계

단계 동작
Analysis 붕괴가 발생한 시점에 버퍼에 있는 수정된 페이지와 진행 트랜잭션을 파악, REDO가 시작되어야 하는 로그 위치 결정
REDO 분석 단계에서 결정한 REDO 시작 위치의 로그로부터 로그가 끝날 때 까지 REDO를 수행, REDO 된 로그 레코드의 리스트를 관리하여 불 필요한 REDO 연산 방지
UNDO 로그를 역순으로 읽으며 진행 트랜잭션의 연산을 역순으로 UNDO

구성 요소

구성 요소 설명
WAL
  • Write Ahead Logging
  • DB 변경 사항에 대한 전체 로깅
LSN
  • Log Sequence Number
  • 모든 로그에 대한 고유 순서 번호
Repeating History
  • 장애 시 이전의 데이터베이스 수행 기록을 모두 추적하여 REDO
UNDO Logging
  • LSN을 이용하여 UNDO 완료된 트랙잭션 반복 수행 회피