DB DR

agnusdei·2025년 5월 17일
0

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)**과 연계해 복구 체계를 수립해야 한다.
  • 고가용성 구성(예: 이중화, 클러스터링, 스트리밍 복제 등)과 복구 정책 자동화를 통해 전체 시스템 복원력을 향상시킬 수 있다.

profile
DevSecOps ⚙️ + Pentest 🚩

0개의 댓글