ARIES [정의] 데이터베이스의장애발생시 WAL(로그선행기법) 통해기록된 LSN(로그순차번호) 이용한회복기법
[특징] 로그순번기록, 논리/물리적 REDO연산, 연산최적화
[회복알고리즘 3단계] 분석-Redo-Undo
[회복알고리즘데이터구조]
Log(LSN할당-write,commit,abort,end 레코드에 LSN부여)
Transaction Table(트랜젝션 ID,state 가장최신 LSN),
Dirty Page Table(버퍼의오손페이지 LSN)
[원칙] write ahead logging(모든변화기록),
Repeating history during redo(crash 후모든재실행),
Logging changes during undo(동일 action 최소화)


 

토픽 이름 () ARIES (Algorithms for Recovery and Isolation Exploiting Semantics)
분류 DB > 기타
키워드(암기) 데이터 회복 기법, 회복 3단계(분석, REDO, UNDO), 필요정보(로그, 트랜잭션 테이블, 오손 페이지 테이블)
암기법(해당경우)

 

기출문제

번호 문 제 회 차
1 8. 데이터베이스 회복기법에서의 REDO UNDO, ARIES 회복기법에 대해 설명하시오. 합숙_2019.08.공통.Day-3
2 10. ARIES(Algorithms for Recovery and Isolation Exploiting Semantics) 회복 알고리즘에 대해 설명하시오. 합숙_2016.01.관리.Day-2
3 2. 다음은 ARIES 회복 기법에 의해 남겨진 DBMS log 내용들이다. ARIES 회복기법에 대해 설명하고 다음 log 내용을 이용하여 회복 과정을 서술하시오. 모의_2018.10.관리.2
4 ARIES회복 알고리즘에 대해 설명하시오. 모의_2013.07.관리.1

 

I. 빠른 데이터베이스 복구를 위한 ARIES 회복 알고리즘

. ARIES 정의

- REDO 역사 반복(Repeating history) 붕괴가 발생했을 때의 데이터베이스 상태를 복구하기 위하여 붕괴 발생 이전에 수행했던 모든 연산을 다시 한번 수행하는 알고리즘

. ARIES 특징

UNDO 붕괴가 발생했을 때 완료되지 않은 상태였던 진행 트랜잭션은 UNDO
UNDO 로깅하여 도중 실패 반복 하지 않음 UNDO 때에도 로깅을 함으로써 회복을 수행하는 도중에 실패하여 회복을 다시 시작할 때에 이미 완료된 UNDO 연산은 반복하지 않음

 

II. ARIES 회복 알고리즘의 3단계와 필요한 정보

. ARIES 회복 알고리즘의 3단계

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

 

 

. ARIES 회복 알고리즘에서 필요한 정보

구 분    핵 심
로그(LOG) 페이지에 대한 갱신(write), 트랜잭션 완료(commit), 트랜잭션 철회(abort), 갱신에 대한 UNDO, 트랜잭션 종료(end) 시 기록, 로그 레코드마다 로그 순차번호(LSN) 할당
(LSN: 디스크에 저장된 로그 레코드의 주소로서 단조 증가 – Log Sequence Number)
LSN할당
트랜잭션 테이블 진행 트랜잭션에 대한 정보(트랜잭션 식별자, 트랜잭션 상태, 해당 트랜잭션의 가장 최근 로그레코드의 LSN 관리 진행 트랜잭션에 대한 정보
오손 페이지 테이블 버퍼에 있는 오손 페이지에 대한 정보(페이지 식별자, 해당 페이지에 대한 가장 최근 로그 레코드 LSN 관리 버퍼에 있는 오손 페이지에 대한 정보

 

III. ARIES에서의 검사점 기록

기록내용 - 로그에 BEGIN_CHECKPOINT, END_CHECKPOINT 레코드를 기록
- 특수 파일에 BEGIN_CHECKPOINT 레코드의 LSN 기록
다중 데이터베이스에서 회복

다중 데이터베이스 트랜잭션
여러 개의 데이터베이스를 액세스하는 트랜잭션으로 이 때 각각의 DBMS들은 서로 다른 회복 기법과 트랜잭션 관리자를 사용할 수 있음
원자성 유지
2단계 완료 프로토콜
- 모든 참여 데이터베이스가 트랜잭션을 완료하도록 하거나 또는 어느 하나도 완료하지 않도록 한다
- 어떤 참여 데이터베이스에 고장이 발생하더라도 트랜잭션이 완료된 상태 또는 철회된 상태로의 회복은 항상 가능

 

IV. 참고

구 분 설 명
역사반복
(Roll Forward)
- REDO 역사 반복(Repeating history): 붕괴가 발생했을 때의 데이터베이스 상태를 복구하기 위하여 붕괴 발생 이전에 수행했던 모든 연산을 다시 한번 수행. 붕괴가 발생했을 완료되지 않은 상태였던 (진행 트랜잭션) UNDO
- UNDO 로깅하여 도중 실패시 반복 하지 않음: UNDO 때에도 로깅을 함으로써 회복을 수행하는 도중에 실패하여 회복을 다시 시작할 때에 이미 완료된 UNDO 연산은 반복하지 않음
LSN
(Long Sequence Number)
- 로그 레코드의 식별자 (로그 레코드는 고유의 식별자를 가짐)
- 로그는 로그파일에 변경된 사항을 덧붙이는(append) 방식으로 기록
- 로그 스위치마다 증가하는 특징
반응형

'정보관리기술사 > DB_데이터분석' 카테고리의 다른 글

2PL or 2PLP(2 Phase Locking)  (0) 2023.08.04
동시성 제어  (0) 2023.08.03
그림자페이지(Shadow Paging) 기법  (0) 2023.08.01
체크포인트(Checkpoint) 회복기법  (0) 2023.07.31
로그기반 회복 기법  (0) 2023.07.28

+ Recent posts