잡동사니

MariaDB Galera Cluster의 고가용성과 데이터 일관성 확보 전략 본문

IT/Database

MariaDB Galera Cluster의 고가용성과 데이터 일관성 확보 전략

yeTi 2025. 1. 13. 16:51

안녕하세요. yeTi입니다.

오늘은 MariaDB Galera Cluster의 멀티 마스터 아키텍처와 데이터 일관성 관리에 대해 이야기해보려 합니다. 특히 Galera Cluster가 어떻게 멀티 마스터 환경에서 데이터 일관성을 유지하면서도 고가용성을 제공하는지, 그 핵심 메커니즘을 자세히 살펴보겠습니다.

Galera Cluster의 철학: 일관성과 가용성의 균형

Galera Cluster는 분산 시스템 환경에서 고가용성과 데이터 일관성을 동시에 추구하는 것을 목표로 설계되었습니다. 이는 분산 시스템에서 흔히 발생하는 CAP 이론의 트레이드오프를 효과적으로 다루기 위한 선택이었습니다.

멀티 마스터 구조의 선택

Galera Cluster가 기본적으로 멀티 마스터 구조를 채택한 것은 고가용성을 위한 전략적 선택이었습니다. 모든 노드가 읽기와 쓰기 작업을 처리할 수 있도록 함으로써, 특정 노드의 장애가 전체 시스템의 가용성에 미치는 영향을 최소화했습니다.

데이터 일관성 보장 메커니즘

Write-Set 기반 복제

Galera Cluster는 전통적인 마스터-슬레이브 구조의 복제 방식이 아닌, Write-Set 기반의 복제를 사용합니다. 이는 낙관적 락(Optimistic Locking)의 개념과 유사한 접근 방식으로, 트랜잭션 실행 중에는 락을 사용하지 않고, 커밋 시점에 충돌을 검사합니다.

글로벌 트랜잭션 순서 (Global Transaction Ordering)

클러스터 내의 모든 노드는 글로벌 트랜잭션 ID를 통해 트랜잭션의 순서를 동일하게 유지합니다. 이는 분산 환경에서 발생할 수 있는 트랜잭션 순서 불일치 문제를 해결합니다.

Certification Process

트랜잭션이 커밋되기 전에 Galera Certifier가 Write-Set을 검증합니다. 이 과정에서 충돌이 발견되면 해당 트랜잭션은 롤백됩니다. 이는 데이터 일관성을 보장하면서도 동시성을 최대한 유지하는 방법입니다.

실제 운영 시나리오

고가용성(HA) 구성

2개 노드로 구성된 HA 환경에서는 데드락 관리가 특히 중요합니다. Galera Cluster는 낙관적 락 메커니즘을 통해 이를 관리하며, 필요한 경우 단일 노드에 쓰기 작업을 집중시킬 수 있습니다.

단일 노드 쓰기 집중 전략

쓰기 작업의 충돌을 최소화하기 위해 다음과 같은 방법을 사용할 수 있습니다:

  1. 로드 밸런서 설정: 쓰기 트래픽을 특정 노드로만 라우팅
  2. 애플리케이션 레벨 제어: 쓰기 작업을 수행하는 노드를 애플리케이션에서 지정
  3. 노드 설정: wsrep_reject_queries 파라미터를 통한 쓰기 제한

데드락 관리

Galera Cluster는 전통적인 락 기반 시스템과 달리, Write-Set 검증을 통해 데드락을 관리합니다. 이는 분산 환경에서 더 효율적인 방식이며, 특히 다음과 같은 장점이 있습니다:

  • 락 전파로 인한 네트워크 부하 감소
  • 빠른 충돌 감지와 해결
  • 높은 동시성 제공

운영 시 고려사항

워크로드에 따른 구성 선택

워크로드 특성에 따라 적절한 구성을 선택하는 것이 중요합니다:

  1. 멀티 마스터 구성 적합 시나리오:

    • 읽기/쓰기 비율이 균형적인 경우
    • 높은 가용성이 필요한 경우
    • 노드 간 네트워크 지연이 낮은 경우
  2. 리드-레플리카 구성 적합 시나리오:

    • 읽기 작업이 많은 경우
    • 데이터 분석이나 리포팅 워크로드
    • 지리적으로 분산된 사용자 환경

성능 최적화

  1. 트랜잭션 크기: 작은 트랜잭션으로 나누어 충돌 가능성 감소
  2. Flow Control: 노드 간 성능 차이 관리
  3. 네트워크 최적화: 노드 간 통신 지연 최소화

마치며

Galera Cluster는 멀티 마스터 환경에서 데이터 일관성과 고가용성을 모두 제공하기 위해 독특한 접근 방식을 채택했습니다. Write-Set 기반 복제, 글로벌 트랜잭션 순서, Certification Process 등의 메커니즘은 이러한 목표를 달성하기 위한 핵심 요소입니다.

특히 낙관적 락과 유사한 접근 방식은 분산 환경에서의 데이터 일관성 관리에 효과적인 해결책을 제공합니다. 다만, 워크로드 특성에 따라 적절한 구성을 선택하고, 운영 환경에 맞는 최적화를 수행하는 것이 중요합니다.

참고 자료

지난 기록

Comments