23. 백업·복구와 재해복구(DR): 스냅샷·WAL·PITR·RPO/RTO
문제 23 — 백업·복구와 재해복구(DR): 스냅샷·WAL·PITR·RPO/RTO
배경
게임 데이터(계정·재화·인벤토리·진행도)는 유실이 곧 대형 사고다. 하드웨어 고장, 운영 실수(잘못된 대량 UPDATE), 랜섬웨어, 리전 장애에 대비한 백업·복구 전략이 필요하다. 아래 물음에 답하라.
질문
-
RPO(Recovery Point Objective) 와 RTO(Recovery Time Objective) 를 정의하고, 게임 데이터 종류별(재화 원장 vs 임시 매칭 상태 vs 로그)로 목표를 어떻게 다르게 잡는지 설명하라.
-
논리적 백업(logical, mysqldump/pg_dump) vs 물리적 백업(physical/파일 수준), 그리고 전체(full)·증분(incremental)·차등(differential) 백업을 설명하라. 각각의 복구 속도·저장 비용·운영 부담 트레이드오프는?
-
WAL(Write-Ahead Log)/바이너리 로그가 무엇이며, 이를 이용한 시점 복구 (Point-In-Time Recovery, PITR) 가 어떻게 동작하는지 설명하라. "어제 03:14에 잘못된 대량 UPDATE 직전으로 되돌리기"를 어떻게 수행하는가?
-
백업의 함정을 설명하라: 백업이 실제로 복구 가능한지 검증(restore drill)하지 않는 문제, 백업 일관성(진행 중 트랜잭션·다중 파일/샤드 정합), 백업 자체의 보관/암호화/오프 사이트(3-2-1 규칙), 랜섬웨어에 대비한 불변(immutable) 백업.
-
리전 단위 재해복구를 설명하라: 동기 vs 비동기 복제, 웜/핫 스탠바이, 페일오버와 split-brain 방지(펜싱), failback. 실시간 게임서버(진행 중 세션·인메모리 상태)는 DB DR 과 무엇이 다른가?
직접 답을 작성한 뒤, 위 해설 보기에서 모범답안과 대조하세요.