백업 및 복원 결정
백업으로 해야 할 일(백업 수행, 복원, 특정 시점 복구 - PITR, 백업 검증)을 단계적으로 안내하고 각 데이터베이스에 맞는 명령과 절차로 이끄는 결정 트리.
무엇을 하려는가?
목표를 선택한다. 새 백업을 수행하는가, 기존 백업을 복원하는가, 특정 시각(장애 직전)으로 돌아가는가, 아니면 보유한 백업이 정상인지 검증하는가?
- 백업을 수행하려 한다
- 백업을 복원하려 한다
- 특정 시점으로 복구 (PITR)
- 백업을 검증하려 한다
어떤 유형의 백업인가?
논리 백업(dump)은 이식성이 좋고 선택적 복원에 적합하지만 큰 데이터에서는 느리다. 물리 백업(파일/블록 수준)은 큰 데이터베이스와 빠른 복구에 적합하다. 요구 사항에 따라 선택한다.
- 논리 백업 (dump / export)
- 물리 / 전체 백업
논리 백업(dump) 수행
데이터를 SQL/BSON 문으로 내보낸다. 버전/플랫폼 간 이동과 단일 테이블/컬렉션 복원에 적합하다.
물리 / 전체 백업 수행
데이터 파일의 블록/파일 수준 사본이다. 큰 데이터베이스에서 빠르며 PITR과 전체 복구의 기반이다.
백업 복원
보유한 가장 적합한 백업을 대상에 복원한다. 먼저 백업의 무결성과 timestamp를 확인한 뒤 엔진에 맞는 명령으로 적재한다.
특정 시점으로 복구 (PITR)
실수로 인한 삭제/손상 직전으로 초 단위 정밀도로 돌아가려 한다. 전체 백업 + 그 시점까지의 트랜잭션 로그(아카이브 로그 / WAL / binlog)가 필요하다.
백업 검증
백업은 복원 가능함이 증명되어야 비로소 백업이다. 무결성과 실제 복원 가능성을 정기적으로 테스트한다.