DBAtlas · 데이터베이스 운영 아틀라스

결정: 어떤 HA/DR 솔루션인가?

고가용성 및 재해 복구 솔루션 선택은 기술이 아니라 업무 요구 사항(RTO/RPO), 지리적 분산 필요성, 비용 간의 균형에서 시작한다. 이 트리는 다운타임과 데이터 손실 허용 범위를 출발점으로 동기 복제본, 비동기 standby, 자동 페일오버 클러스터, 백업+PITR 중 올바른 접근 방식을 제시한다.

데이터 손실 허용 범위(RPO)는 어느 정도인가?

가장 엄격한 제약 조건부터 시작한다: 재해 시 몇 초 분량의 데이터 손실을 감수할 수 있는가? 데이터 손실 제로(RPO=0)가 요구되면 동기 복제가 필수이고, 몇 초/몇 분이 허용되면 비동기 솔루션과 더 저렴한 접근 방식이 가능하다. RPO 목표는 대개 다른 모든 결정을 좌우한다.

  • 데이터 손실 제로가 필수(RPO = 0)
  • 몇 초/몇 분의 데이터 손실은 허용 가능

자동의 빠른 인계(낮은 RTO)도 필요한가?

데이터 손실 제로를 원한다. 그렇다면 primary가 중단되었을 때 얼마나 빨리 복구되어야 하는가? 수 초 내 자동 페일오버가 필요한가, 아니면 짧은 수동 개입 시간이 허용되는가? 이에 따라 단순 동기 복제본과 완전 자동화 클러스터가 구분된다.

  • 수 초 내 자동 페일오버가 필요
  • 수동/계획된 인계로 충분, 손실 제로가 우선

다른 리전/지역이 필요한가(DR)?

일부 데이터 손실이 허용된다면 핵심 질문은 복원력의 범위다: 데이터 센터/리전 전체 손실에 대비해야 하는가, 아니면 같은 리전 내 단일 노드 장애 대비로 충분한가? 지리적 분산이 필요하면 비동기 standby가 우선 고려되고, 그렇지 않으면 비용 우선 옵션을 검토한다.

  • 예, 지리적 재해에 대비한 별도 리전이 필수
  • 아니요, 예산과 단순성이 우선

긴 복구 시간(높은 RTO)을 수용할 수 있는가?

단일 리전에 머무르며 일부 데이터 손실을 허용한다. 최저 비용을 목표로 하는가, 아니면 장애 시 빠르게 인계하는 standby 노드가 필요한가? 복구에 몇 시간이 걸려도 된다면 백업+PITR만으로 가장 경제적이며, 그렇지 않으면 warm standby가 필요하다.

  • 예, 복구에 몇 시간이 걸려도 됨(최저 비용)
  • 아니요, 몇 분 내 인계하는 warm standby가 필요

권장: 동기 복제본(데이터 손실 제로)

primary는 최소 하나의 standby가 확인 응답할 때까지 커밋을 완료하지 않는다. 따라서 primary를 잃어도 확인된 트랜잭션은 손실되지 않는다(RPO=0). 저지연 네트워크를 갖춘 단일 리전 내에서 이상적인 솔루션이다.

권장: 비동기 standby(지리적 DR)

standby는 primary의 커밋을 지연시키지 않고 변경 사항을 스트림으로 적용한다. 쓰기 성능을 해치지 않고 다른 리전에 사본을 유지하는 표준 방법이며, 대신 작은 데이터 손실 구간(복제 지연만큼)을 감수한다.

권장: 자동 페일오버 클러스터

헬스 모니터링, 리더 선출, 자동 인계를 결합한 클러스터 솔루션으로, 낮은 RTO(수 초 내 자동 페일오버)와 동기 사본을 통한 낮은/제로 RPO를 모두 목표로 한다. 운영 부담은 크지만 사람의 개입이 최소화된다.

권장: 백업 + PITR(가장 경제적)

실행 중인 standby 대신 정기 백업과 WAL/아카이브 로그를 통한 특정 시점 복구(PITR)만 유지한다. 비용이 가장 낮은 솔루션이며, 대가로 복구에 몇 시간이 걸릴 수 있다(높은 RTO).

DBAtlas에서 열기 →