정보기술 · 인공지능 ·
OpenAI, PostgreSQL로 초당 100만 쿼리 처리 성공...샤딩 없이 8억 사용자 지원
오픈AI가 단일 구조 PostgreSQL로 ChatGPT 8억 명 사용자를 지원하며 초당 백만 건 이상의 쿼리를 처리하는 데 성공했다.
[한국정보기술신문] 오픈AI가 오픈소스 관계형 데이터베이스 PostgreSQL을 활용해 초당 백만 건 이상의 쿼리를 처리하며 ChatGPT의 8억 명 사용자를 안정적으로 지원하는 데 성공했다. 일반적으로 이 규모의 트래픽을 처리하기 위해서는 데이터베이스 샤딩이나 복잡한 맞춤 솔루션이 필요하다고 여겨졌으나, 오픈AI는 표준 PostgreSQL 기능과 최적화만으로 이를 달성했다는 점에서 업계의 주목을 받고 있다.
POSETTE 2025 컨퍼런스에서 오픈AI 인프라팀의 보한 장 엔지니어는 회사의 PostgreSQL 스케일링 전략을 상세히 공개했다. 장 엔지니어는 카네기멜론대학교에서 앤디 파블로 교수 밑에서 공부했으며, 교수와 함께 OtterTune을 공동 창업한 경력이 있다. 그는 발표에서 PostgreSQL이 오픈AI의 가장 중요한 시스템들의 중추를 담당하고 있으며, PostgreSQL에 문제가 발생하면 ChatGPT를 포함한 주요 서비스들이 직접적인 영향을 받는다고 설명했다.
오픈AI의 데이터베이스 아키텍처는 놀랍도록 단순하다. 단일 주 데이터베이스 인스턴스와 수십 개의 읽기 전용 복제본으로 구성된 샤딩되지 않은 클러스터를 사용한다. 모든 쓰기 작업은 주 데이터베이스에서 처리되고, 읽기 작업은 여러 복제본에 분산된다. 이러한 단순한 구조는 관리의 복잡성을 크게 줄이면서도 대규모 읽기 중심 워크로드를 효과적으로 처리할 수 있다는 것을 입증했다.
애져 클라우드와의 협업으로 성능 극대화
오픈AI는 초기부터 마이크로소프트 애져 데이터베이스 for PostgreSQL 관리형 서비스를 활용해 왔다. 애져의 관리형 서비스는 자동 백업, 고가용성 등의 기능을 제공하여 오픈AI 팀이 저수준 데이터베이스 유지보수에서 벗어나 핵심 개발에 집중할 수 있게 했다. 마이크로소프트 애져 데이터베이스 for PostgreSQL 팀은 오픈AI 엔지니어들과 긴밀히 협력하여 서비스를 새로운 한계까지 끌어올렸으며, 이는 일련의 업그레이드와 모범 사례로 이어져 데이터베이스 계층을 오픈AI 데이터 플랫폼의 탄력적인 구성요소로 변모시켰다.
특히 애져는 오픈AI의 워크로드 진화를 학습하여 현재 프리뷰 단계인 엘라스틱 클러스터 기능을 개발했다. 이를 통해 오픈AI 팀은 행 기반 및 스키마 기반 샤딩을 통해 수평적으로 확장할 수 있게 되었다. 또한 애져 팀은 캐스케이딩 읽기 복제본 기능도 도입했는데, 이는 기존 복제본에서 추가 읽기 복제본을 생성할 수 있게 하여 주 데이터베이스의 부하를 더욱 경감시켰다.
연결 풀링과 쿼리 최적화로 응답 시간 10배 향상
오픈AI가 달성한 가장 인상적인 성과 중 하나는 데이터베이스 응답 시간의 극적인 개선이다. PgBouncer를 활용한 연결 풀링과 각종 최적화를 도입한 후, 많은 쿼리의 응답 시간이 약 50밀리초에서 5밀리초 미만으로 개선되어 사용자 상호작용이 즉각적으로 느껴지게 되었다. 이는 10배의 성능 향상을 의미한다.
연결 풀링은 애플리케이션이 데이터베이스에 여는 연결 수를 효율적으로 관리하는 일반적인 기법이다. 대부분의 데이터베이스 라이브러리는 애플리케이션 수준에서 연결 풀링을 제공하지만, PgBouncer는 이를 데이터베이스 서버 수준에서 한 단계 더 낮게 가져간다. 애플리케이션 서버는 데이터베이스에 연결하는 것처럼 PgBouncer 프록시에 연결하고, PgBouncer는 가능한 한 효율적으로 연결을 생성하거나 재사용한다.
오픈AI는 또한 전략적 인덱싱, 쿼리 최적화, work_mem 및 shared_buffers와 같은 매개변수 튜닝을 통해 복잡한 쿼리의 메모리 사용을 최적화했다. 이러한 접근 방식은 맞춤형 확장 기능 대신 PostgreSQL의 내장 기능에 집중하는 것으로, 과도한 엔지니어링을 피하면서도 최상의 성능을 달성할 수 있음을 보여준다.
쓰기 병목 현상 해결과 스키마 관리 전략
오픈AI의 주-복제본 PostgreSQL 아키텍처에서 읽기 확장성은 우수하지만, 쓰기 요청은 주요 병목 지점이 되었다. 모든 쓰기 작업이 단일 주 데이터베이스로 집중되기 때문이다. 오픈AI는 이 문제를 해결하기 위해 여러 최적화를 구현했다. 가능한 곳에서는 쓰기 부하를 오프로드하고, 주 데이터베이스에 새로운 서비스를 추가하는 것을 최대한 피했다.
또한 오픈AI는 이 클러스터에서 가벼운 스키마 변경만 허용하는 엄격한 정책을 도입했다. 새 테이블 생성이나 새 워크로드 추가는 허용되지 않으며, 컬럼 추가나 제거는 5초 타임아웃으로 허용되지만 전체 테이블 재작성이 필요한 작업은 금지된다. 인덱스 생성이나 제거는 허용되지만 반드시 CONCURRENTLY 옵션을 사용해야 한다.
장기 실행 쿼리도 문제가 되었다. 1초 이상 실행되는 쿼리는 스키마 변경을 지속적으로 차단하여 결국 실패를 초래할 수 있다. 오픈AI의 해결책은 애플리케이션이 이러한 쿼리를 최적화하거나 읽기 복제본으로 오프로드하도록 하여 주 데이터베이스의 스키마 변경이 차단되지 않도록 하는 것이었다.
우선순위 기반 복제본 할당으로 서비스 품질 보장
오픈AI는 저우선순위 요청과 고우선순위 요청을 구분한다. 고우선순위 요청을 위해 전용 읽기 전용 복제본을 할당하여 저우선순위 요청의 영향을 받지 않도록 했다. 이는 중요한 서비스의 품질을 보장하는 동시에 리소스를 효율적으로 활용하는 방법이다.
글로벌 읽기 확장성도 오픈AI의 성공 요인 중 하나다. 오픈AI는 교차 리전 복제본을 포함하여 수십 개의 읽기 복제본을 추가했다. 이를 통해 전 세계 사용자 기반에 낮은 지연 시간으로 서비스를 제공할 수 있었으며, 주 데이터베이스를 압도하거나 복제 지연을 증가시키지 않았다.
신뢰성 향상으로 9개월간 중대 장애 단 1건
오픈AI의 PostgreSQL 최적화 노력은 신뢰성 측면에서도 놀라운 결과를 가져왔다. 개선 이후 9개월 동안 PostgreSQL과 관련된 중대 장애가 단 1건만 발생했다. 이는 이전 기간에 비해 신뢰성이 크게 향상된 것이다. 오픈AI는 하드웨어 장애나 네트워크 문제 발생 시 자동으로 복제본을 주 데이터베이스로 승격시키는 장애 조치 메커니즘을 구축하여 다운타임을 최소화했다.
모니터링과 유지보수도 중요한 역할을 했다. 오픈AI는 관찰성을 향상시켜 안정성과 성능을 보장했다. 단 1년 만에 쿼리 볼륨이 10배 증가하는 상황에서도 시스템을 안정적으로 운영할 수 있었던 것은 이러한 모니터링 체계 덕분이었다.
PostgreSQL의 잠재력과 관리형 서비스의 한계
오픈AI의 사례는 PostgreSQL이 적절히 최적화되면 대규모 읽기 중심 워크로드를 처리할 수 있음을 입증했다. 장 엔지니어는 모든 최적화 후 읽기 중심 워크로드에 대해 PostgreSQL에 매우 만족한다고 밝혔다. 이는 특별한 데이터베이스나 대규모 엔지니어링 팀이 필요하다고 여겨졌던 규모를 소규모 팀이 체계적이고 실용적인 최적화로 달성할 수 있음을 보여준다.
그러나 일부 전문가들은 오픈AI가 직면한 실제 문제가 PostgreSQL 자체보다는 애져의 관리형 서비스 사용에 따른 제약에서 비롯된다고 지적한다. Pigsty 개발자인 폰 루오항은 애져의 IaaS 계층을 사용하여 로컬 NVMe SSD 인스턴스에 자체 호스팅 PostgreSQL 클러스터를 배포하면 이러한 제약을 우회할 수 있다고 제안했다. Pigsty는 이러한 규모의 PostgreSQL 문제를 해결하기 위해 구축된 오픈소스 솔루션으로, 오픈AI가 직면했거나 직면할 많은 문제에 대한 솔루션을 이미 구현하고 있다.
업계에 주는 시사점과 향후 전망
오픈AI의 PostgreSQL 스케일링 사례는 데이터베이스 성능이 반드시 복잡할 필요는 없다는 교훈을 준다. 초대형 AI 기업도 모범 사례에 기대어 원하는 성능을 얻을 수 있다. 연결 풀링, 읽기 복제본 확장, 엄격한 스키마 관리, 쓰기 오프로드 등의 전략은 다른 조직에서도 적용 가능한 실용적인 접근 방식이다.
마이크로소프트 애져 데이터베이스 for PostgreSQL 팀은 오픈AI와의 공동 혁신 작업에 자부심을 표하며, 다른 조직들도 이러한 교훈을 자체 PostgreSQL 배포에 적용할 수 있기를 기대한다고 밝혔다. 오픈AI의 사례는 관리형 데이터베이스 서비스가 팀이 인프라가 아닌 혁신에 집중할 수 있게 하는 가치를 강화한다.
PostgreSQL의 MVCC 설계는 테이블 및 인덱스 비대화 등 알려진 문제를 제시하지만, 오픈AI는 자동 가비지 수집 튜닝과 같은 전략으로 이를 관리했다. 쓰기 작업마다 완전히 새로운 버전이 생성되고 인덱스 접근 시 추가 가시성 확인이 필요한 등의 설계 측면은 읽기 복제본을 확장할 때 문제가 될 수 있지만, 오픈AI는 이러한 과제를 체계적으로 해결했다.
오픈AI의 PostgreSQL 여정은 하이퍼스케일에서 PostgreSQL을 운영하는 방법에 대한 마스터클래스다. 쓰기 오프로드, 읽기 복제본 확장, 엄격한 스키마 거버넌스를 통해 오픈AI는 애져의 PostgreSQL이 최첨단 AI 시스템의 요구사항을 충족할 수 있음을 입증했다. 이는 또한 팀이 인프라가 아닌 혁신에 집중할 수 있게 하는 애져 관리형 데이터베이스 서비스의 가치를 강화한다.
한국정보기술신문 인공지능분과 이준 기자 news@kitpa.org