ARIES 회복 기법: Difference between revisions

From IT Wiki
No edit summary
No edit summary
Line 15: Line 15:
| Steal || 트랜잭션이 커밋되지 않아도 변경사항을 디스크에 기록 가능
| Steal || 트랜잭션이 커밋되지 않아도 변경사항을 디스크에 기록 가능
|}
|}
* WAN/LSN을 기반으로 No-Force/Steal 정책 하에 효율적인 복구 수행
* WAN/LSN을 기반으로 [[데이터베이스 Force와 Steal|No-Force/Steal]] 정책 하에 효율적인 복구 수행


== 핵심 개념 ==
== 핵심 개념 ==

Revision as of 21:41, 5 November 2019

Algorithms for Recovery and Isolation Exploiting Semantics; ARIES Recovery Algorithm; ARIES Recovery method
  • IBM 펠로 C. Mohan이 발명한 데이터베이스 복구 알고리즘
  • IBM DB2, 마이크로소프트 SQL 서버, 그리고 수많은 상용 DBMS에서 사용

특징

구분 설명
WAN 기반 모든 변경사항을 선행 로그로 기록
No-Force 트랜잭션이 커밋 되어도 변경사항을 즉시 디스크에 기록하지 않음
Steal 트랜잭션이 커밋되지 않아도 변경사항을 디스크에 기록 가능
  • WAN/LSN을 기반으로 No-Force/Steal 정책 하에 효율적인 복구 수행

핵심 개념

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

수행 3단계

단계 동작
Analysis REDO가 시작되어야 하는 로그 위치 결정
REDO 분석 단계에서 결정한 REDO 시작 위치의 로그부터 REDO를 수행
UNDO 로그를 역순으로 읽으며 미완료 트랜잭션을 UNDO

구성 요소

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