OpenAI опубликовала технический блог, посвященный тому, как PostgreSQL поддерживает ChatGPT, который насчитывает от 800 до 900 миллионов активных пользователей еженедельно. Главным открытием стало то, что компания успешно обходит шардирование, используя одну основную серверную архитектуру и около 50 реплик для чтения. Инженер OpenAI Бохан Чжан поделился подробностями на конференции PGConf.Dev 2025, отметив, что кластер обрабатывает более миллиона запросов в секунду и достигает времени отклика в низкие двузначные миллисекунды на 99-м перцентиле. Всё это достигается на стандартном PostgreSQL без каких-либо кастомных модификаций, за счет грамотной настройки соединений, оптимизации запросов и продуманной индексации. Однако запись является узким местом, так как все операции записи идут на основной сервер. Команда оптимизирует этот процесс, минимизируя задержки и контролируя массовую загрузку данных. Чтение же легче масштабируется благодаря распределению реплик по регионам и приоритетизации трафика. За последние девять месяцев всего лишь один серьезный инцидент был зафиксирован, связанный с PostgreSQL. Подход OpenAI противоречит общему тренду на распределенные базы данных, что позволяет им эффективно справляться с нагрузкой ChatGPT.

Вопрос-ответ

Какая архитектура PostgreSQL используется OpenAI для ChatGPT и как достигается высокая производительность?

OpenAI использует одну основную серверную архитектуру PostgreSQL с примерно 50 репликами для чтения, без кастомных модификаций. Эффективность достигается за счет грамотной настройки соединений, оптимизации запросов и продуманной индексации, а не за счет внедрения распределённых баз данных. Кластер способен обрабатывать более миллиона запросов в секунду и держать время отклика в низких двузначных миллисекундах на 99-м перцентиле.

Какие ограничения и узкие места в такой архитектуре и как они решаются?

Основное ограничение — запись, которая идёт на основной сервер. Для минимизации задержек и контроля массовой загрузки данных применяются меры по оптимизации задержек записи, планированию нагрузки и эффективному управлению журналами транзакций. Чтение масштабируется горизонтально за счёт распределения реплик по регионам и приоритетизации трафика.

Какова роль реплик и географическое распределение в производительности чтения?

Реплики распределены по регионам, что позволяет перенаправлять запросы на ближайшие узлы и уменьшать задержки. Приоритетизация трафика на чтение обеспечивает более плавное обслуживание большого объёма запросов в реальном времени и позволяет эффективно масштабировать чит operations без влияния на запись.