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

참조 아키텍처: 멀티 리전 / 글로벌

사용자가 지리적으로 분산되어 있거나 리전 재해에 대한 복원력이 필요하면 데이터가 여러 리전으로 퍼진다. 이 트리는 읽기 지역성(리전마다 읽기 복제본), 쓰기 토폴로지(single-leader vs multi-leader vs quorum), 데이터 상주/컴플라이언스(GDPR), 충돌 해결, RPO/RTO와 지연 간의 트레이드오프를 단계별로 다룬다. 기본 사실: 물리 법칙 때문에 낮은 지연, 강한 일관성, 멀티 리전 쓰기를 동시에 완전히 달성할 수는 없다. 의도적인 트레이드오프가 필수다.

멀티 리전으로 가는 이유는 무엇인가: 읽기 지역성, 쓰기/복원력, 아니면 컴플라이언스?

멀티 리전 아키텍처는 비용이 크고 복잡하므로 동기를 명확히 한다. 멀리 있는 사용자의 읽기 지연을 낮추고 싶은가, 리전 간 쓰기/재해 복원력이 필요한가, 아니면 실제 요구 사항이 데이터를 특정 국가에 두는 것(법적 상주)인가?

  • 멀리 있는 사용자를 위한 빠른 읽기, 쓰기는 한 리전에 머물러도 됨
  • 리전 간 쓰기 / 리전 손실에 대한 복원력이 필요함
  • 데이터가 법적으로 특정 국가/리전에 있어야 함

쓰기 토폴로지는 무엇이어야 하는가: single-leader, multi-leader, quorum?

리전 간 쓰기에서 핵심 결정은 리더십 모델이다. 모든 쓰기가 단일 리전으로 가는가(단순하고 일관되지만 원격 쓰기가 느림), 모든 리전이 쓸 수 있는가(쓰기 지연은 낮지만 충돌 발생), 아니면 과반수 리전의 확인 응답으로 쓰기를 수락하는가(quorum: 일관되지만 지연 추가)?

  • 한 리전이 쓰고 나머지는 읽음(단순하고 일관됨)
  • 모든 리전이 로컬로 쓸 수 있음(낮은 쓰기 지연)
  • 과반수 확인 응답으로 쓰기, 일관성이 우선

권장: 리전별 읽기 복제본(읽기 지역성)

쓰기는 단일 주 리전에 유지하고, 각 사용자 리전에 그 리전에서 공급받는 읽기 복제본을 둔다. 사용자는 가장 가까운 복제본에서 읽어 읽기 지연이 줄어든다. 쓰기는 여전히 단일 중심으로 가므로 일관성 모델이 단순하게 유지된다.

권장: 단일 리더 쓰기

모든 쓰기는 단일 리더 리전으로 가고, 다른 리전은 그 리더에서 비동기로 공급받는 읽기 복제본이다. 가장 단순하고 일관성이 강한 모델이며, 쓰기 지점이 하나이므로 충돌이 없다. 대가는 원격 리전에서의 높은 쓰기 지연이다.

권장: multi-leader 쓰기 + 충돌 해결

모든 리전이 로컬로 쓸 수 있어 쓰기 지연이 낮고, 한 리전이 단절되어도 다른 리전은 계속 쓴다. 대가는 크다: 두 리전이 같은 레코드를 서로 다르게 갱신할 수 있으며 충돌 해결을 설계해야 한다.

권장: quorum 기반 쓰기(과반수 확인 응답)

쓰기는 리전/복제본의 과반수(quorum)가 확인 응답하면 수락된다. 읽기도 과반수로 가면 최신 값이 보장된다. 리전 손실에 강하고 일관성이 강하며, 대가는 모든 쓰기가 과반수에 도달하는 데 드는 지연이다.

권장: 데이터 상주 / 컴플라이언스(GDPR)

일부 데이터(개인, 의료, 금융)는 법적으로 특정 국가/리전의 경계 내에 있어야 한다(예: GDPR). 이 경우 아키텍처를 '모든 곳에 복사'가 아니라 데이터가 지리적으로 고정되도록 설계한다.

DBAtlas에서 열기 →