백업·복구와 RPO·RTO
업무가 허용할 데이터 손실과 중단 시간을 RPO·RTO로 정의하고, 전체·증분·로그 백업과 REDO/WAL·UNDO·아카이브·체크포인트를 복구 시나리오에 연결합니다. 백업 성공이 아니라 실제 복원·복구 시험을 완료 기준으로 삼습니다.
핵심 요약
RPO는 장애 시 허용 가능한 데이터 손실 시점의 범위이고, RTO는 서비스가 허용 가능한 시간 안에 복구되어야 하는 목표다. 백업 종류만 선택해서는 목표를 보장할 수 없으며 백업 주기, 로그 보존, 복원 속도, 인력·절차, 대체 인프라와 실제 복구 시험을 함께 설계해야 한다.
백업본 Restore → 로그 Roll-forward(REDO/WAL) → 미완료 작업 Rollback(UNDO)
→ 일관성 검증 → 서비스 재개
학습 목표
- RPO와 RTO를 사례에서 계산·판단합니다.
- 전체·증분·차등·로그, 논리·물리, 온라인·오프라인 백업을 구분합니다.
- REDO/WAL, UNDO, 아카이브 로그, 체크포인트의 복구 역할을 설명합니다.
- 트랜잭션·인스턴스·미디어·사용자·사이트 장애별 복구 절차를 선택합니다.
1. 개념 설명
1.1 RPO와 RTO
| 목표 | 질문 | 예시 |
|---|---|---|
| RPO(Recovery Point Objective) | 장애 직전부터 어느 시점까지의 데이터 손실을 허용하는가? | RPO 15분: 최대 15분 분량의 변경 손실을 허용 |
| RTO(Recovery Time Objective) | 장애 후 얼마 안에 서비스·기능을 복구해야 하는가? | RTO 2시간: 2시간 안에 목표 기능 재개 |
RPO가 0에 가깝다고 자동으로 RTO도 짧아지는 것은 아니다. 동기 복제로 최신 데이터가 있어도 장애 전환·검증·애플리케이션 재기동에 시간이 걸릴 수 있다. 반대로 빠르게 서버를 재기동해도 마지막 백업 이후 데이터가 없으면 RPO를 만족하지 못한다.
1.2 백업 분류
| 분류 | 설명 | 복구·운영 특성 |
|---|---|---|
| 전체(Full) | 대상 전체를 백업 | 복원 단순, 백업 시간·용량 큼 |
| 증분(Incremental) | 보통 직전 백업 이후 변경분 | 백업 작음, 복구 시 여러 세트 필요 가능 |
| 차등(Differential) | 보통 마지막 전체 백업 이후 변경분 | 시간이 갈수록 커지나 복구 체인은 단순한 편 |
| 로그/연속 아카이브 | 변경 로그를 지속 보존 | 특정 시점 복구와 작은 RPO에 유리 |
| 논리 백업 | 테이블·행·DDL 등 논리 객체로 추출 | 선택 복구·이식성, 대규모 복구 시간 주의 |
| 물리 백업 | 데이터 파일·페이지 등 물리 구조 백업 | 전체 DB 복구 효율, 제품·버전 의존성 |
| 오프라인(Cold) | DB를 중지하거나 변경을 막고 백업 | 일관성 단순, 서비스 중단 |
| 온라인(Hot) | 서비스 중 백업 | 가용성 유지, 로그·일관성 절차 필요 |
증분·차등이라는 명칭과 기준은 제품에 따라 다를 수 있으므로 “무엇 이후의 변경분인지”를 확인해야 한다.
1.3 로그와 체크포인트
- REDO 또는 WAL(Write-Ahead Log): 데이터 페이지보다 먼저 변경 정보를 로그에 기록하여, 장애 후 커밋된 변경을 다시 적용할 수 있게 한다.
- UNDO: 미완료 트랜잭션을 취소하거나 이전 버전을 제공하는 데 사용된다. 구현 명칭·보존 방식은 제품별로 다르다.
- 아카이브 로그: 재사용되기 전 변경 로그를 별도 보존하여 백업 이후 시점까지 roll-forward할 수 있게 한다.
- 체크포인트: 메모리의 변경 페이지와 로그 복구 기준을 정리해 인스턴스 복구 범위를 줄이는 메커니즘이다. 체크포인트 자체는 독립된 백업본이 아니다.
1.4 장애 유형과 복구
| 장애 유형 | 예시 | 일반적 대응 |
|---|---|---|
| 트랜잭션 장애 | 제약 위반, 애플리케이션 오류 | 해당 트랜잭션 롤백·재시도 |
| 인스턴스 장애 | 프로세스/전원 장애, 메모리 상태 손실 | 로그 기반 자동/수동 인스턴스 복구 |
| 미디어 장애 | 디스크·데이터 파일 손상 | 백업 Restore 후 로그 Recover |
| 사용자·논리 장애 | 잘못된 DELETE, 배치 오류 | 시점 복구, 플래시백/논리 복원, 검증 후 반영 |
| 사이트 재해 | 센터 전체 중단 | 원격 백업·DR 전환·업무 우선순위 복구 |
복제는 가용성에 도움을 주지만 잘못된 삭제·오염도 복제할 수 있어 별도 백업과 시점 복구가 필요하다.
2. 구성요소와 관계
| 업무 요구 | 설계 요소 | 검증 지표 |
|---|---|---|
| RPO 15분 | 로그 보존·전송 주기, 백업 체인 | 실제 복구 지점과 로그 누락 여부 |
| RTO 1시간 | 복원 처리량, 병렬성, 대체 인프라 | 복구 리허설 총 소요시간 |
| 특정 테이블 오삭제 대응 | 논리 백업·시점 복구·격리 복원 | 대상 행·참조 무결성 검증 |
| 랜섬웨어·사이트 장애 | 오프라인/불변 백업, 원격 보관 | 격리 환경 복구와 자격증명 분리 |
| 장기 보관 | 보존정책, 암호화, 매체 수명 | 만료·폐기·복호화 가능성 |
3. 백업·복구 설계 절차
- 업무 영향 분석: 핵심 기능, 최대 허용 중단, 데이터 손실 허용량을 정한다.
- RPO·RTO와 복구 우선순위 확정: 시스템 전체가 아니라 업무 기능별로 정의한다.
- 백업·로그 조합 설계: 전체/증분/로그, 저장 위치, 암호화, 보존 기간을 정한다.
- 복구 시나리오 작성: 장애 유형별 Restore, Recover, 전환, 검증, 재개 순서를 기록한다.
- 복구 리허설: 운영과 분리된 환경에서 시간, 누락 로그, 권한, 애플리케이션 정합성을 측정한다.
- 결과 개선: 실제 RPO/RTO가 목표를 넘으면 주기·처리량·자동화·인프라를 조정한다.
4. 사례와 계산
사례: 일 1회 전체 백업 + 15분마다 로그 아카이브
- 전체 백업: 매일 00:00
- 로그 아카이브 완료: 15분 간격
- 장애: 10:37
- 10:30까지의 로그가 안전하게 보존됨
이론상 복구 가능한 최근 시점은 10:30이므로 데이터 손실 범위는 7분이며, 설계상 최악의 RPO는 약 15분이다. 그러나 로그 전송 지연·손상·백업 실패가 있으면 실제 RPO가 커진다.
RTO는 다음 합으로 판단한다.
장애 인지·의사결정 + 인프라 준비 + 전체 백업 복원 + 로그 적용
+ DB 일관성 확인 + 애플리케이션 점검 + 업무 승인
백업 파일 복사 시간이 40분이어도 전체 절차가 2시간이면 RTO는 40분이 아니다.
5. 비교와 구분
| 구분 | 백업 | 복제/대기계 | 스냅샷 |
|---|---|---|---|
| 핵심 목적 | 과거 상태 복원·복구 | 서비스 연속성과 빠른 전환 | 특정 시점의 저장 상태 캡처 |
| 논리 오류 대응 | 보존 시점에 따라 가능 | 오류가 그대로 전파될 수 있음 | 보존·독립성에 따라 가능 |
| 별도 검증 | 복원·로그 체인 시험 | 전환·지연·일관성 시험 | 애플리케이션 일관성·독립성 시험 |
| 서로 대체? | 다른 수단과 조합 | 백업을 완전히 대체하지 않음 | 단독 백업 여부는 구현에 따라 다름 |
시험 판단 포인트
- RPO는 데이터 손실 허용량, RTO는 서비스 복구 시간 목표다.
- 체크포인트는 복구량을 줄일 수 있지만 백업을 대체하지 않는다.
- Restore는 백업본을 되돌리는 과정, Recover는 로그를 적용해 목표 시점의 일관된 상태로 만드는 과정으로 구분한다.
- 미디어 장애는 일반적으로 백업 복원과 로그 적용이 필요하고, 인스턴스 장애는 로그 기반 인스턴스 복구가 핵심이다.
- 백업 정책의 완료 기준은 “파일 생성 성공”이 아니라 목표 시점·시간 내 실제 복구와 업무 검증이다.
자주 틀리는 부분
- RPO 0을 ‘복구 시간이 0’으로 해석한다.
- 아카이브 로그가 있으므로 기본 백업 없이 무한히 복구할 수 있다고 본다.
- 복제본을 백업과 동일하게 보고 오삭제·랜섬웨어 전파를 무시한다.
- 복원 시간만 측정하고 DNS, 애플리케이션, 권한, 업무 검증 시간을 RTO에서 제외한다.
- 체크포인트를 백업 시점 또는 커밋 시점과 같은 개념으로 본다.
개념 확인 문제
문제를 누르면 바로 아래에서 정답과 해설을 확인할 수 있습니다.
01[객관식] RPO와 RTO의 설명으로 옳은 것은? ① RPO는 허용 중단 시간이다. ② RTO는 허용 데이터 손실량이다. ③ RPO는 복구 가능한 데이터 시점, RTO는 서비스 복구 시간 목표와 관련된다. ④ 두 값은 항상 동일하다.
정답: ③
- ① 허용 중단 시간은 RTO와 관련된다.
- ② 허용 데이터 손실 시점은 RPO와 관련된다.
- ③ 두 목표의 정의를 올바르게 연결했다.
- ④ 데이터 보존과 서비스 재개는 다른 축이므로 값이 같을 필요가 없다.
02[객관식] 체크포인트에 대한 설명으로 가장 적절한 것은? ① 독립된 전체 백업본이다. ② 복구 기준을 정리해 인스턴스 복구량을 줄일 수 있다. ③ 아카이브 로그를 모두 삭제한다. ④ 사용자 오삭제를 자동으로 되돌린다.
정답: ②
- ① 체크포인트는 백업본이 아니다.
- ② 변경 페이지와 로그 기준을 정리해 장애 후 재적용 범위를 줄일 수 있다.
- ③ 로그 삭제 정책과 동일하지 않다.
- ④ 사용자 오류는 시점 복구·논리 복원 등 별도 절차가 필요하다.
03[연결형] REDO/WAL, UNDO, 아카이브 로그를 각각 ‘커밋 변경 재적용’, ‘미완료 작업 취소/이전 상태’, ‘재사용 전 로그 장기 보존’과 연결하세요.
정답: REDO/WAL→커밋 변경 재적용, UNDO→미완료 작업 취소/이전 상태, 아카이브 로그→재사용 전 로그 장기 보존.
- 제품별 구현 명칭과 저장 방식은 다를 수 있으나 복구 역할을 구분해야 한다.
04[계산형] 로그 아카이브가 10분 간격이고 장애 시 마지막 안전 로그가 14:20, 장애 시각이 14:27이다. 복구 가능한 최근 시점과 실제 데이터 손실, 설계상 최대 RPO를 쓰세요.
정답: 최근 복구 가능 시점 14:20, 실제 손실 7분, 설계상 최대 RPO 약 10분.
- 로그가 항상 10분 안에 안전하게 보존된다는 전제다. 전송 실패·로그 손상이 있으면 실제 값은 더 커질 수 있다.
05[사례 판단] 대기계가 있어 5분 안에 전환할 수 있지만 잘못된 DELETE가 즉시 복제되었다. 필요한 복구 수단과 검증 절차를 설명하세요.
모범 답안:
- 복제본만으로는 오류 이전 상태가 없으므로 시점 복구(PITR), 보존된 스냅샷 또는 논리 백업을 격리 환경에 복원한다.
- 오류 직전 시점까지 로그를 적용하고 대상 행·연관 테이블·참조 무결성과 업무 합계를 검증한다.
- 전체 DB를 되돌릴지 필요한 데이터만 추출해 운영에 반영할지 영향 범위와 후속 트랜잭션을 고려해 결정한다.