본문으로 건너뛰기

© 2026 Molayo

OpenAI중요헤드라인2026. 04. 24. 08:01

OpenAI의 PostgreSQL 확장 전략: 8억 사용자 규모를 위한 아키텍처 최적화

요약

본 글은 OpenAI가 폭발적으로 성장하는 사용자 기반(8억 명)과 트래픽을 감당하기 위해 PostgreSQL 데이터베이스를 어떻게 확장하고 최적화했는지에 대한 기술 보고서입니다. 핵심은 단일 프라이머리 인스턴스를 중심으로 수많은 읽기 복제본(read replicas)을 활용하여 초당 수백만 건의 쿼리를 처리하는 아키텍처를 구축했다는 점입니다. 특히, PostgreSQL의 MVCC 특성으로 인한 쓰기 부하 문제를 해결하기 위해 샤딩이 가능한 쓰기 중심 워크로드는 Azure Cosmos DB와 같은 전용 시스템으로 분리(offload

핵심 포인트

  • OpenAI는 단일 프라이머리 Azure PostgreSQL 인스턴스와 여러 지역에 분산된 약 50개의 읽기 복제본을 사용하여 8억 명의 사용자에게 초당 수백만 건의 쿼리를 제공합니다.
  • PostgreSQL의 MVCC(Multi-Version Concurrency Control)로 인해 발생하는 쓰기 증폭(write amplification) 문제를 해결하기 위해 샤딩 가능한 쓰기 중심 워크로드를 Azure Cosmos DB와 같은 시스템으로 마이그레이션했습니다.
  • 서비스 안정성을 유지하기 위해 모든 읽기 트래픽을 복제본으로 분산시키고, 애플리케이션 레벨에서 중복 쓰기를 제거하거나 지연 쓰기(lazy writes)를 도입하여 프라이머리의 부하를 최소화했습니다.

OpenAI는 ChatGPT 출시 이후 폭발적인 사용자 증가에 대응하기 위해 PostgreSQL 데이터베이스 인프라를 대대적으로 확장하고 최적화해왔습니다. 이 기술 보고서는 단일 프라이머리 아키텍처만으로 8억 명의 사용자를 지원하며 초당 수백만 건의 쿼리를 처리할 수 있게 된 과정을 상세히 설명합니다.

1. 독특한 스케일링 구조: 읽기 중심 워크로드 최적화
OpenAI는 단 하나의 프라이머리 Azure PostgreSQL Flexible Server 인스턴스를 핵심으로 유지하고, 여기에 여러 지역에 걸쳐 약 50개의 읽기 복제본(read replicas)을 추가하는 독특한 아키텍처를 구축했습니다. 이러한 구조 덕분에 시스템은 대부분의 트래픽이 발생하는 '읽기 중심 워크로드(read-heavy workloads)'에 매우 효과적으로 대응할 수 있습니다.

하지만 이처럼 거대한 규모에서 운영되는 데이터베이스는 여러 가지 복잡한 과제에 직면합니다. 예를 들어, 캐싱 계층 실패로 인한 대규모 캐시 미스(cache misses)나 비용이 많이 드는 다중 테이블 조인(multi-way joins) 급증 같은 업스트림 이슈가 발생하면 데이터베이스 부하가 갑자기 치솟아 서비스 전체의 지연 시간(latency)을 증가시키고 요청 타임아웃을 유발하는 악순환에 빠질 수 있습니다.

2. 쓰기 중심 워크로드와 MVCC의 한계 극복
PostgreSQL은 읽기 작업에는 강점을 보이지만, 데이터베이스가 지속적으로 업데이트되는 '쓰기 중심 워크로드(write-heavy workloads)'에서는 근본적인 어려움을 겪습니다. 이는 PostgreSQL의 핵심 메커니즘인 다중 버전 동시성 제어(Multi-Version Concurrency Control, MVCC) 때문입니다. MVCC는 데이터를 수정할 때 전체 행을 복사하여 새 버전을 만드는 방식이어서, 쓰기 부하가 클 경우 상당한 **쓰기 증폭(write amplification)**을 초래합니다. 또한, 읽기 쿼리조차 최신 버전을 찾기 위해 여러 버전의 데이터(dead tuples)를 스캔해야 하므로 성능 저하를 야기합니다.

이러한 한계를 극복하기 위해 OpenAI는 샤딩(sharding)이 가능한 쓰기 중심 워크로드를 Azure Cosmos DB와 같은 전용 분산 시스템으로 적극적으로 마이그레이션하고 있습니다. 또한, 애플리케이션 레벨에서도 중복 쓰기를 유발하는 버그를 수정하거나 적절한 경우 지연 쓰기(lazy writes)를 도입하여 프라이머리에 가해지는 쓰기 압력을 최소화했습니다.

3. 단일 프라이머리를 고수하는 이유와 향후 계획
OpenAI는 현재까지도 기존의 PostgreSQL 인스턴스를 샤딩하지 않고, 모든 쓰기 트랜잭션이 하나의 프라이머리 인스턴스로 집중되도록 유지하고 있습니다. 그 주된 이유는 이미 수백 개의 애플리케이션 엔드포인트를 수정해야 하는 샤딩 작업은 너무 복잡하고 시간이 오래 걸려 단기적인 우선순위가 아니기 때문입니다. 대신, 광범위한 최적화와 읽기 전용 아키텍처를 통해 현재의 시스템이 충분한 여유 공간(headroom)을 확보했다고 판단했습니다.

결론적으로, OpenAI는 PostgreSQL의 장점을 최대한 활용하는 동시에, 그 한계가 명확한 영역(쓰기 중심 워크로드)은 전문 분산 시스템으로 분리하여 하이브리드 아키텍처를 구축함으로써 8억 사용자 규모의 트래픽을 안정적으로 처리하고 있습니다. 이는 대규모 서비스에서 데이터베이스의 특성을 이해하고, 각 워크로드에 맞는 최적의 저장소를 선택하는 것이 얼마나 중요한지를 보여주는 사례입니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 OpenAI Blog의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
4

댓글

0