홈으로 돌아가기

PostgreSQL에서의 MySQL 솔루션: 고성능을 위한 Polar 아키텍처

Tantor Polar 아키텍처를 통한 PostgreSQL에 MySQL 솔루션 통합의 기술 분석. RDMA 및 NVMe-oF를 사용한 컴퓨트 및 스토리지 분리 구현 분석. Oracle RAC 및 기타 솔루션과의 비교.

Tantor의 혁신: MySQL 최적화가 PostgreSQL을 어떻게 가속화하는가
Advertisement 728x90

## MySQL 솔루션을 PostgreSQL에 통합: 고성능을 위한 아키텍처 혁신

PG BootCamp 2026 컨퍼런스에서 Alexey Kopytov (sysbench 저자이자 전 MySQL AB/Percona 개발자)은 MySQL 생태계의 최적화를 PostgreSQL로 이식하는 주제의 발표를 진행했습니다. 핵심 메시지는 검증된 솔루션을 활용해 PostgreSQL의 고부하 시스템에서 내결함성과 성능을 강화하는 것입니다. 특히 Tantor 팀이 Alibaba PolarDB를 기반으로 적응시킨 컴퓨트-스토리지 분리 기술 구현이 주목할 만합니다.

이 접근법의 주요 장점은 PostgreSQL과 완전한 호환성을 유지하면서 처리량을 크게 높인다는 점입니다. 샤딩이나 분산 솔루션(Citus, Greenplum)과 달리 Tantor Polar 아키텍처는 ACID 보장을 희생하지 않고 크로스-샤드 쿼리를 처리하며, 이는 OLTP 시스템에서 매우 중요합니다.

DBMS를 위한 아키텍처 솔루션 분류

Alexey Kopytov은 컴퓨트와 스토리지 노드를 분리하는 기존 접근법에 대한 명확한 분류를 제안했습니다:

Google AdInline article slot
  • 샤딩 및 MPP 시스템 (Greenplum, Citus): SQL 파서 수준에서의 분리. 문제점—단일 시점 일관성(xid/SCN) 부족
  • 분산 트랜잭션 DBMS (Spanner, YugabyteDB): 스토리지 노드에서의 트랜잭션 처리
  • "LOG is DB" 아키텍처 (Amazon Aurora, Neon): 변경 로그의 우선권, 스토리지에서의 WAL 처리
  • Polar 아키텍처 (Tantor Polar): 스토리지 레이어 바로 위에서의 분리

Polar 접근법의 핵심 차별점은 PostgreSQL 코어에 대한 변경을 최소화한다는 것입니다. 모든 최적화는 파일 시스템 수준(PolarFS)에서 구현되어 다음을 가능하게 합니다:

  • 기존 애플리케이션(1C 포함)과의 100% 호환성
  • PostgreSQL 코어에 대한 침투적 변경 회피
  • 기존 백업 도구 지원

Tantor Polar 아키텍처: 기술 구현

시스템은 세 가지 핵심 구성 요소로 구축됩니다:

  • PolarFS—RDMA/NVMe-oF 위의 고성능 파일 시스템
  • RDMA 네트워크—컴퓨트와 스토리지 노드 간 통신용
  • 수정된 PostgreSQL—I/O 서브시스템에 최소 변경

주목할 만한 특징은 블록 디바이스를 위한 기본 레이어로 Linux MD Cluster를 사용하는 것입니다. 이 솔루션은 다음을 제공합니다:

Google AdInline article slot
  • 로컬 SSD와 동등한 데이터 액세스 지연(5-10 μs)
  • 스토리지와 독립적인 컴퓨트 노드 투명 확장
  • RW 노드에서의 Active-Active 모드 지원

중요한 점은 PolarFS가 표준 POSIX 인터페이스를 통해 동작해 PostgreSQL 코어 수정이 필요 없다는 것입니다. 모든 변경은 파일 시스템 드라이버에 국한되어 업스트림 병합과 유지보수를 크게 단순화합니다.

Oracle RAC 및 기타 솔루션과의 비교

Oracle RAC와 개념적으로 유사하지만 차이점은 큽니다:

  • 데이터 전송 프로토콜: Polar은 RDMA 위 NVMe-oF 사용, RAC은 독점 프로토콜 사용
  • 분리 수준: Polar은 파일 시스템 수준, RAC은 ASM 수준
  • 오픈 소스: PolarFS는 오픈 소스로 공개될 예정, ASM과 달리

RDMA 구현은 특별히 언급할 만합니다. 초기 시도(PostgresPro 10-11)에서는 PostgreSQL 코어 깊숙한 수정이 필요했습니다. Tantor는 파일 시스템 드라이버를 통한 비침투적 접근을 채택해:

Google AdInline article slot
  • 비대칭 액세스 지연 문제 제거
  • 모든 컴퓨트 노드에서의 균일한 성능
  • 표준 WAL 처리 메커니즘 보존

핵심 요약

  • 타협 없는 호환성: Tantor Polar은 복잡한 JOIN과 트랜잭션을 포함한 모든 PostgreSQL 기능 지원
  • RDMA 성능: 네트워크 상에서 로컬 SSD와 동등한 지연(5-10 μs)
  • 확장성: 컴퓨트와 스토리지 독립 확장
  • 개방성: PolarFS는 오픈 소스 라이선스로 제공될 예정
  • 프로덕션 준비도: XData Gen.3에서 이미 사용 중(3 스토리지 + N 컴퓨트 노드 구성)

기술 구현 세부 사항

주요 아키텍처 구성 요소:

// Example of RDMA integration into the I/O subsystem
static int polarfs_submit_io(struct io_request *req) {
    if (use_rdma) {
        return rdma_send(req->buffer, req->length);
    }
    return posix_write(req->fd, req->buffer, req->length);
}

최적화는 세 영역에 집중됩니다:

  • 버퍼 관리: 컴퓨트 노드에서의 메타데이터 캐싱
  • WAL 처리: 확인 응답을 동반한 비동기 RDMA 전송
  • 락 매니저: 단일 장애 지점 없는 분산 구현

특별한 주의를 기울인 엣지 케이스:

  • RDMA 연결 드롭 후 복구
  • 비대칭 네트워크 지연 처리
  • 쓰기 작업의 원자성 보장

PolarFS 벤치마크 결과:

  • 고부하 시 처리량 35-40% 증가
  • 99th 백분위 지연 2.3배 감소
  • 초당 최대 트랜잭션 28% 증가

결론

Tantor의 접근은 DBMS 생태계 간 솔루션 이식을 통해 큰 이득을 얻을 수 있음을 보여줍니다. 성공의 열쇠는 최소 침투성과 호환성 중심입니다. Polar 아키텍처는 이전에 급진적 앱 변경이나 NoSQL 전환을 요구하던 시나리오에서 PostgreSQL의 새로운 확장 가능성을 열어줍니다.

특기할 점은 전문 하드웨어가 필요 없다는 것입니다—단지 RDMA와 NVMe-oF 네트워크 지원만 있으면 됩니다. 이는 기존 PostgreSQL 클러스터의 증가하는 부하에 직면한 다양한 조직에게 접근 가능하게 만듭니다.

— Editorial Team

Advertisement 728x90

다음 읽기