← Back to Home
2026-01-24

OpenAI PostgreSQL 스케일링: 8억 사용자를 지탱하는 비법

개요

OpenAI가 8억 명의 ChatGPT 사용자를 지원하기 위해 PostgreSQL을 어떻게 확장했는지 공개했습니다. 대규모 트래픽을 처리하는 데이터베이스 아키텍처의 비밀을 알아봅니다.

핵심 스케일링 전략

1. 수평 샤딩 (Horizontal Sharding)

-- 사용자 ID 기반 샤딩 예시
CREATE TABLE users_shard_1 PARTITION OF users
    FOR VALUES WITH (MODULUS 4, REMAINDER 0);
 
CREATE TABLE users_shard_2 PARTITION OF users
    FOR VALUES WITH (MODULUS 4, REMAINDER 1);

2. 읽기 복제본 활용

  • Primary: 쓰기 작업 전담
  • Read Replicas: 읽기 작업 분산
  • 지연 최소화: 비동기 복제 + 캐싱

3. 연결 풀링

# PgBouncer 설정 예시
[databases]
chatgpt = host=primary.db port=5432
 
[pgbouncer]
pool_mode = transaction
max_client_conn = 10000
default_pool_size = 100

성능 최적화 기법

  1. 인덱스 최적화: 쿼리 패턴에 맞는 복합 인덱스
  2. 파티셔닝: 시간 기반 데이터 분리
  3. 쿼리 최적화: EXPLAIN ANALYZE로 병목 제거
  4. 캐싱 레이어: Redis를 활용한 핫 데이터 캐싱

모니터링 및 관찰성

-- 슬로우 쿼리 모니터링
SELECT query, calls, mean_time, total_time
FROM pg_stat_statements
ORDER BY total_time DESC
LIMIT 10;

배운 점

  • PostgreSQL은 적절한 설계로 엄청난 규모도 처리 가능
  • 샤딩과 복제의 조합이 핵심
  • 모니터링 없이는 스케일링 불가능

마무리

PostgreSQL의 한계는 우리가 생각하는 것보다 훨씬 높습니다. 올바른 아키텍처 설계로 대규모 서비스도 충분히 지원할 수 있습니다.