900 млн пользователей и единая база: устройство бэкенда ChatGPT Обложка: Skyread

900 млн пользователей и единая база: устройство бэкенда ChatGPT

Новости
Главное:

  • ChatGPT обслуживается одним кластером PostgreSQL с примерно 50 репликами для чтения.
  • Кластер обрабатывает свыше миллиона запросов в секунду с низким временем отклика на 99-м перцентиле.
  • Записи идут через единственный главный сервер, где строго контролируется оптимизация и управление операциями.

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

Главным открытием стало то, что OpenAI обходится без шардирования – разделения данных между множеством серверов для параллельной обработки. Вместо этого используется единый основной сервер для записей и порядка 50 реплик для чтения, размещённых географически в разных регионах. Такая архитектура даёт возможность обрабатывать свыше миллиона запросов в секунду при задержках отклика на уровне низких двузначных миллисекунд для 99% операций.

Особое внимание уделено операции записи, так как она является единственным узким местом системы. Чтобы не допустить перегрузки главного сервера, команда OpenAI внедрила разные методы оптимизации: перенос некоторых операций записи в фон, сглаживание пиков нагрузки через отложенную запись и строгий контроль за массовой загрузкой данных. Также изменения в структуре базы данных производятся особенно аккуратно – добавление колонок происходит с таймаутом в 5 секунд, а индексы создаются только параллельно (через CONCURRENTLY) без полной перезаписи таблиц.

Чтение данных масштабируется проще: реплики разделены по регионам и приоритетам. Критические запросы направляют на отдельные реплики, чтобы избежать замедления из-за тяжёлых аналитических выборок. Такая схема позволила добиться высокой устойчивости и эффективности – за последние девять месяцев была зафиксирована лишь одна серьёзная проблема, связанная с PostgreSQL.

Выбор OpenAI – отказаться от шардирования в пользу одного хорошо оптимизированного кластера PostgreSQL – выделяется на фоне текущей индустриальной тенденции к распределённым базам данных. Шардирование облегчает масштабирование записи, но значительно усложняет работу с данными, миграции и резервным копированием. В случае ChatGPT, где нагрузка на чтение преобладает, такой подход оказывается более рациональным и гибким.

Tagged