IT 기술/DB

데이터베이스 트랜잭션 회복 기법

gooooooood 2025. 4. 9. 21:32
반응형

1. DB 일관성 및 무결성 보장, 트랜잭션 회복의 개요

가. 데이터베이스 회복기법의 정의

정의 - 데이터베이스 운영도중 장애가 발생한 경우, 장애 발생 이전의 일관된 상태로 복원시키는 것

 

나. 데이터베이스 회복기법의 주요 요소

구분 주요 요소 설명
회복 준비 로그(Log) 트랜잭션 변경 이력 저장 파일
회복 수행 체크포인트 특정 시점까지 변경내용 기록
REDO 회복된 DB 상태로 복원
UNDO 원래의 DB 상태로 복원
회복 정책 일관성 보장 트랜잭션 Commit 또는 Rollback

- DB 회복은 IT 컴플라이언스와 비즈니스 연속성을 위한 필수 요소

 

 

2. REDO와 UNDO 이용 회복방법

가. REDO 이용 방법

개념 - 장애 발생 시 진행된 트랜잭션에 대해 로그 기록 이용하여 재반영하여 복원하는 기법
개념도
상세동작 1) 트랜잭션 시작 시 해당 트랜잭션 연산 내용 로그 기록
2) 장애 발생 시점까지의 로그 기록 연산 내용 재수행
대표 기법 지연 갱신 회복기법, 체크포인트 회복기법, ARIES

 

나. UNDO 이용 방법

개념 - 장애 발생 시 변경된 트랜잭션에 대해 실행 트랜잭션 모두 이전 상태로 되돌리는 기법
개념도
상세 동작 1) 트랜잭션 시작 후 연산 내용 로그에 기록, 트랜잭션 완료 시 Commit
2) 장애 발생 시 Commit 완료된 로그 기록까지 복원하고 나머지 로그 삭제
대표 기법 즉시 갱신 회복기법, 그림자 페이징 기법

- 트랜잭션 회복 시 오버헤드 줄이기 위해 체크포인트 회복 기법 활용

 

 

3. 체크포인트 이용 회복 방법

개념 트랜잭션 처리 중 지정된 시점까지의 트랜잭션 상태 저장하여 장애 발생 시 회복 범위 최소화하는 기법
개념도
상세 동작 1) 체크포인트 발생 시점에 메모리 버퍼에 있는 변경 내용 디스크에 기록
2) 시스템 장애 발생 시, 최근 체크포인트 이후 트랜잭션 분석
3) Commit된 트랜잭션 REDO, 비정상 종료 트랜잭션 UNDO
구성 요소 Dirty Page 메모리 상 변경되었으나 디스크에 반영되지 않은 페이지
 Log Buffer 변경 이력 담고 있는 메모리 영역
Checkpoint Marker 체크포인트 발생 위치 기록한 로그
기법 종류 Sharp Checkpoint 모든 트랜잭션 정지 후 전체 페이지 디스크에 기록
Fuzzy Checkpoint 트랜잭션 정지하지 않고 백그라운들로 점진적 반영

 

 

4. 그림자 페이징 이용 방법

개념 원본 데이터는 유지하고 별도의 그림자 페이지를 수정하여 장애 발생 시 롤백이 불필요한 회복 기법
개념도
상세 동작 1) 트랜잭션 시작 시 페이지 테이블 복사하여 그림자 페이지 테이블 생성
2) 데이터 수정 시 기존 페이지 변경 않고 새로운 페이지에 작성
3) 트랜잭션 Commit 되면 그림자 페이지 테이블을 현재 페이지 테이블로 전환
4) 트랜잭션 실패 시, 그림자 페이지 테이블을 그래도 사용하여 복구 필요 없음
특징 UNDO / REDO 불필요 원본 페이지 유지로 복구 시 별도 과정 생략
페이지 기반 복구 페이지 단위로 복사 및 전환
쓰기 비용 증가 페이지 전체 복사 갱신 필요

- 그림자 페이지 테이블은 빠른 회복이 가능하지만 알고리즘 복잡도가 높아 시스템 부담으로 대규모 OLTP 시스템에는 비효율적

반응형

'IT 기술 > DB' 카테고리의 다른 글

인덱스  (1) 2025.04.09
빅데이터 시각화  (0) 2025.04.09
아파치 카프카  (0) 2025.04.09
CDC (Change Data Capture)  (0) 2025.04.09
DB 백업의 필요성과 유형  (0) 2025.04.09