Skip to content

Pgactive

Postgres 액티브-액티브 복제 확장

About

  • AWS가 만들어서 공개한 PostgreSQL을 위한 active-active 복제 확장
  • 여러 PostgreSQL 인스턴스에서 데이터 쓰기·수정이 필요할 때, 특정 인스턴스가 단독으로 변경을 수용하는 기존의 액티브-스탠바이 모델 대신, 여러 인스턴스에서 동시 변경과 복제가 가능한 구조를 구축할 수 있음
  • 여러 리전에서 고가용성 데이터베이스 구성이나, 쓰기 지연 최소화, 애플리케이션의 블루/그린 업데이트, 양방향 데이터 마이그레이션 같은 시나리오에 적합함
  • 논리적 복제를 활용하여 충돌 감지, 쓰기 충돌 해결, 타겟 데이터베이스 포맷 변환 등을 지원

액티브-액티브 복제 개념

  • 복제(Replication) 는 데이터베이스 간 변경 내용을 동기화하는 기술
  • 기존 PostgreSQL의 액티브-스탠바이 구조는 한 인스턴스만 변경을 수용하고 나머지는 읽기 전용 형태이므로, 한 곳이 단일 데이터 소스 역할을 함
  • pgactive는 액티브-액티브 복제 토폴로지를 제공함으로써 여러 인스턴스에서 동시에 데이터 쓰기를 허용함
  • 이런 방식은 여러 쓰기 지점이 필요한 환경, 예를 들어 멀티 리전 배포나 양방향 마이그레이션 등에 적합함
  • 액티브-액티브 모델에서는 충돌, 지연, 일부 기능 제약에 대한 별도 관리가 필요함

핵심 기술: 논리적 복제

  • 논리적 복제(Logical Replication) 는 데이터를 외부 시스템이 해석 가능한 포맷으로 전송함
  • 논리적 복제를 통해 대상 데이터베이스에서 충돌 탐지, 쓰기 충돌 해결, 쿼리 변환 등 다양한 부가기능을 구현할 수 있음
  • PostgreSQL은 2017년 버전 10에서 기본 논리적 복제를 도입하였으나, 액티브-액티브 복제에는 추가적인 기능이 요구됨
  • PostgreSQL의 설계 특성으로 인해 이러한 기능은 확장(extension) 형태로 개발 및 적용이 가능함
  • PostgreSQL 개발 커뮤니티도 점차적으로 해당 기능을 기본 프로젝트에 추가하고 있음

See also

Favorite site