azosi · 2026.10.24 00:21 · 조회 0
OpenAI, ChatGPT 10억 사용자 저장 계층 해부 — 읽기 지연 120ms→10ms로 12배 개선
ChatGPT의 응답 지연이 120ms에서 10ms로 — OpenAI가 10억 사용자 규모 저장 계층의 내부 구조를 처음으로 제대로 벗겨냈다.
10월 23일 OpenAI는 공식 블로그에 엔지니어링 글 「Rapidly scaling online storage to serve over 1 billion ChatGPT users (Part II)」를 게재했다. ChatGPT의 온라인 저장 서비스 Habitat이 10억 명을 넘는 사용자를 받으면서 응답 지연을 어떻게 낮췄는지를 다룬 2부로, 1부는 9월 11일에 공개된 바 있다. Habitat은 멀티테넌시와 글로벌 캐싱을 제공하는 저장 계층이고, 실제 데이터는 Azure Cosmos DB 위에 올라가 있다.
문제는 분명했다. 데이터가 저장된 위치와 요청이 처리되는 위치가 어긋나면 지연 편차가 커졌고, 그 틈을 메우려고 제품 개발자들이 클라이언트 사이드 캐싱이나 요청 배치 같은 우회책에 기대야 했다. 저장 계층을 깊이 이해하지 않아도 빠르게 기능을 만들 수 있어야 한다는 Habitat의 목표는 무너진 셈이었다. OpenAI는 읽기가 전체 요청의 90% 이상이라는 점을 감안해 올해 초부터 성능에 집중해 왔다고 설명했다.
해법은 세 가지 설계 변경이었다.
1. Store data near users when capacity allows — 데이터 보존 요건이 있는 사용자를 위해 세계 각지의 Azure Cosmos DB 계정을 운용하고, 데이터가 사용자와 가까운 곳에 있을수록 지연이 낮아진다. 다만 데이터센터 용량·전력·냉각이 부족한 지역에서는 colocated storage와 추가 컴퓨트 사이에서 트레이드오프가 생긴다.
2. Broadly replicate only the smallest and most latency-sensitive datasets — 지연에 가장 민감한 소형 데이터만 넓게 복제한다. 일부 계정은 트래픽을 받는 Azure 리전 40개 전부에, 다른 계정은 대륙마다 최소 한 리전에 복제한다. 복제 토폴로지가 다른 계정 사이에서 데이터셋을 옮길 때에는 Habitat으로 미리 옮겨 전환 시점을 앞당긴다.
3. Reduce proxy overhead with Rust — Habitat 서비스 코드를 기존 Python에서 Rust로 다시 써, 서비스 자체의 프록시 오버헤드를 줄였다.
결과는 단순하다. 세 가지가 결합하면서 전체 글로벌 읽기 p50 지연이 약 120ms에서 약 10ms로 내려왔고, 12배 개선이다. OpenAI는 이 그래프에서 마일스톤을 '주요 데이터를 근접 지역에 복제 → 리전 내 캐시 도입 → Rust 재작성'으로 정리한다. 여기에 Change Data Capture(CDC) 스케일링이 더해진다. 초당 수백만 건의 변경이 수천 개 컨테이너와 수백만 개 컨테이너 파티션에서 캡처돼 100개가 넘는 Kafka 토픽을 타고 흘러, 최종 일관성 보조 인덱스·데이터 이동 파이프라인·오프라인 분석·실시간 제품 기능까지 수행한다.
시사점은 속도 숫자보다 운영 방식에 있다. 장애를 추적하던 중 OpenAI는 게이트웨이 모드 Azure Cosmos DB 클라이언트가 페일오버를 처리할 때, 실제로는 일부 물리 파티션만 원래 리전으로 복귀했는데도 모든 클라이언트가 즉시 원래 리전으로 붙는 동작을 확인했다. 여기서 얻은 결론은 이렇다. 규모가 커지면 관리형 서비스는 더 이상 관리형이 아니며, 설계에서 운영까지 모든 수준에서 서비스 제공자와 깊은 통합이 필요하다. 지금은 Habitat과 Azure 엔지니어링 팀이 서비스 계층부터 Cosmos DB 물리 스토리지 계층까지 모든 계층을 공동 모니터링하고, 프로덕션 규모를 모방한 별도 계정에서 운영과 테스트를 함께 진행한다.
앞으로는 자체 엑사바이트급 온라인 스토리지 시스템을 개발 중이다. Rockset의 RocksDB Cloud 코어에 Raft 기반 복제를 결합하고, Azure Cosmos DB와 동일한 문서 모델을 쓰되 비동기 스토리지와 물리 복제로 필요한 플래시 용량을 줄이는 대신 피크 QPS를 낮추는 설계다. 인프라를 더 이상 매니지드 서비스에 맡기지 않고 직접 가져오는 시도이며, 10억 명을 넘어 다음 10억 명까지 버틸 저장 계층을 만드는 것이 목표다.
출처
- OpenAI, 「Rapidly scaling online storage to serve over 1 billion ChatGPT users (Part II)」 (2026-10-23): https://openai.com/index/scaling-storage-one-billion-users-part-two
- 전편 「Rapidly scaling online storage to serve over 1 billion ChatGPT users」 (2026-09-11): https://openai.com/index/scaling-storage-one-billion-users-part-one/
- OpenAI 공식 뉴스 RSS: https://openai.com/news/rss.xml
댓글
아직 댓글이 없습니다.
댓글을 작성하려면 로그인이 필요합니다.