최근 오픈 소스 데이터베이스로 전환하는 조직이 늘고 있습니다. 이들 기업은 오픈 소스 데이터베이스를 미션크리티컬한 서비스에 적용하여 오라클 등 상용 데이터베이스 사용으로 인한 기술 종속 우려와 비용 부담에서 벗어나는 성과를 거두고 있습니다. 이번 포스팅에서는 오라클 RAC 못지않은 고가용성을 보장하는 EDB Postgres Distributed에 대해 알아보겠습니다.
EDB가 제공하는 고가용성 솔루션
EDB를 이용하는 곳은 EDB Postgres Distributed를 통해 99.999%의 가용성을 보장할 수 있습니다. 99.999%의 가용성은 어느 정도 수준을 뜻하는 것일까요? 이 정도 가용성을 보장한다는 것은 계획된 또는 계획되지 않은 유지보수나 관리 작업 관련해 가동 중단 시간이 일주일에 6초에 불과하다는 것입니다. 1개월로 따지면 26초, 1년으로 계산하면 5분 15초의 다운타임만 허용합니다. 거의 무정지 시스템에 가깝다고 봐도 됩니다. 99.999%의 가용성을 보장하는 EDB Postgres Distributed는 EDB의 추가 기능으로 설계되었습니다. 주요 특징은 다음과 같습니다.
- 다운타임이 거의 없는 유지보수 및 관리 지원
- 거리 제약이 없는 다중 마스터 복제 및 지리적으로 분산된 클러스터 구성 지원
- 기본 복제보다 최대 5배 더 빠른 처리량
- 비즈니스 요구에 따라 유연하게 배포 가능
- EDB 전문가 지원
위와 같은 특징으로 EDB Postgres Distributed는 다운타임을 허용하지 않는 금융, 통신 등의 산업 분야에서 환경을 받고 있습니다.
다중 마스터 아키텍처
EDB Postgres Distributed를 적용하면 단일 위치나 가용 영역 또는 여러 위치나 가용 영역에 분산하여 PostgreSQL 인스턴스를 배포할 수 있습니다. EDB Postgres Distributed는 다중 마스터 아키텍처를 채택하고 있습니다. 이 아키텍처에서 주목할 점은 메시 토폴로지를 사용해 느슨하게 결합된 다중마스터 환경에서 논리적 복제가 이루어진다는 것입니다.
EDB Postgres Distributed를 이용한 EDB 기반 Always On 아키텍처는 크게 4가지로 구분해 볼 수 있습니다. 여기서 말하는 위치는 물리적 또는 지리적으로 떨어진 데이터센터 또는 퍼블릭 클라우드 서비스의 가용 영역(Availability Zone)을 뜻합니다.
- Bronze: 2개의 데이터 노드, Witness 노드 및 로컬 백업 노두가 있는 단일 위치 구성
- Silver: 3개의 데이터 노드가 있는 단일 위치 구성, 오프사이트 백업이 다른 위치에 존재
- Gold: 각각 2개의 데이터 노드가 있는 2개의 위치 구성, Witness 노드가 3번째 위치에 존재
- Platinum: 각각 3개의 데이터 노드가 있는 2개의 위치, 하드웨어 이중화 구성
각 옵션은 고가용성 수준에 따른 구분이라 보면 됩니다. Bronze는 로컬 하드웨어 장애로부터 가용성을 보장하지만, 데이터센터 수준의 문제로부터 시스템을 보호할 수는 없습니다. Silver는 백업이 외부에 존재하므로 데이터센터 수준의 장애 발생 시 복원 작업을 거쳐 서비스를 정상화할 수 있습니다. Gold는 물리적 또는 지리적으로 떨어진 2개의 위치에 시스템이 있어 어느 한 위치에 장애가 발생해 오프라인 상황이 되어도 자동 페일오버를 통해 서비스가 중단되지 않습니다. Platinum은 위치 분산과 함께 각 위치에 하드웨어를 이중화로 구성하여 가장 높은 고가용성을 보장합니다.
참고로 EDB Postgres Distributed는 PostgreSQL, EDB Postgres Extended Server 또는 EDB Postgres Advanced Server 세 가지 버전과 함께 배포할 수 있습니다. 앞서 소개한 Always On 아키텍처와 함께 원하는 수준의 고가용성 보장에 맞는 배포본을 선택해야 합니다.
EDB를 좀 더 미션크리티컬한 용도로 활용하고 싶다면? EDB Postgres Distributed를 통해 오라클 RAC 부럽지 않은 고가용성 구성을 해보십시오. 락플레이스가 최적의 아키텍처와 운영 전략을 안내해 드리겠습니다.