DB DR

agnusdei·2025년 5월 17일

Database

목록 보기
34/76

1. 개요: 데이터베이스 복구란?

데이터베이스 복구는 시스템 장애, 트랜잭션 오류, 저장소 손상 등으로부터 데이터의 일관성과 무결성을 회복하는 절차를 의미합니다.
정상적인 상태로 복원하여 서비스 연속성을 확보하는 것이 궁극적 목적입니다.


2. 복구의 3대 원칙

① 원자성(Atomicity)

  • 트랜잭션은 모두 완료되거나 전혀 실행되지 않아야 함
  • 실패한 트랜잭션은 롤백(Rollback)으로 복구

② 일관성(Consistency)

  • 장애 이후에도 DB는 정합성 제약을 만족해야 함

③ 지속성(Durability)

  • 커밋된 트랜잭션의 결과는 장애 후에도 유지되어야 함

3. 복구 유형 분류

(1) 장애 유형 기준

장애 유형설명예시
트랜잭션 장애논리적 오류SQL 오류, 애플리케이션 버그
시스템 장애메모리 손실, 서버 다운전원 장애, OS crash
미디어 장애저장장치 물리 손상디스크 불량, RAID 실패

4. 복구 기법

(1) 로그 기반 복구 (Write-Ahead Logging, WAL)

  • REDO / UNDO 로그를 활용하여 복구
  • 트랜잭션 수행 시 로그를 먼저 기록 → 장애 발생 시 로그 분석으로 복구
로그 타입설명
UNDO미완료 트랜잭션 → 원래 상태로 되돌림
REDO완료된 트랜잭션 → 작업 재반영

(2) 체크포인트(Checkpoint) 기법

  • DB 상태 스냅샷을 주기적으로 저장
  • 장애 시 최근 체크포인트 이후의 로그만 적용

(3) Shadow Paging

  • 기존 페이지는 보존하고, 수정된 페이지를 새 위치에 저장
  • 커밋 시 교체 → 원본 손상 방지

(4) 백업 기반 복구

  • 정기 백업 + 로그를 조합해 특정 시점 복구 (Point-In-Time Recovery, PITR)

5. 복구 전략

(1) Full Backup + Incremental / Differential

  • Full: 전체 데이터 복사
  • Incremental: 변경분만 복사 (백업 효율적)
  • Differential: 마지막 전체 백업 이후 변경된 모든 데이터

(2) Hot / Warm / Cold Backup

방식설명
Hot서비스 중에도 백업 가능
WarmDB 중지 없이 접근 제한
Cold완전히 종료 후 백업 (정합성 높음)

6. 고급 기술 및 트렌드

  • 플래시백(Flashback): 오라클 등에서 지원, 특정 시점으로 빠르게 복구
  • CDC (Change Data Capture) 기반 복구
  • 하이브리드 백업 (On-prem + Cloud)
  • AI 기반 장애 예측 및 자동 복구 시스템

7. 기술사적 관점 정리

  • 데이터베이스 복구는 단순한 데이터 복원이 아닌, 트랜잭션 무결성과 서비스 지속성을 위한 핵심 인프라 구성 요소이다.
  • 설계 시에는 RPO(Recovery Point Objective), RTO(Recovery Time Objective) 목표를 기반으로 **비즈니스 연속성 전략(BCP/DRP)**과 연계해 복구 체계를 수립해야 한다.
  • 고가용성 구성(예: 이중화, 클러스터링, 스트리밍 복제 등)과 복구 정책 자동화를 통해 전체 시스템 복원력을 향상시킬 수 있다.

0개의 댓글