
Комментарии 11
Честно говоря - ничего нового, все те же рецепты и подходы что и 10 лет назад
Если только не считать их объемы. А таких известных инсталяций я знаю не так много. И вот это как раз удивительно, что оперируя понятными и последовательными действиями и используя проверенный инструмент им удалось достичь приемлемой производительности, с учетом их трафика и задач.
И какие у них задачи? Сколько запросов они делают в бд при запросе юзера? Какая у них сложность бизнес логики?
Точная цифра не раскрывается, но это миллионы QPS для PostgreSQL. Трафик 24 на 7, круглосуточно, 800 млн. пользователей. Если попробовать прикинуть, в одном запросе от пользователя где-то 10 обращений к бд.
Как пример: Получение истории диалога, проверка подписки и статуса, возможно логгировнаие запроса, проверка статус платежей, какие-то метаданные, профиль и настройки, лимиты и сохранение ответа и прочее.
Допустим возьмем, 10 запросов за сессию. Каждый пользователь раз 10 например в месяц заходит. Итого: 100. Умножаем обращения, запрос, сессии и пользователей. При 800 млн юзеров, это получается 80 миллиардов операций с БД в месяц (на деле конечно сессий и обращений сейчас намного больше).
P.S: Конечно же не всё использует исключительно PG, но если верить публикации, то постгрес один из основных источников пользовательских данных.
Наверно нужно уточнить что это Azure PostgreSQL и я уверен, что от ванилы она оооочень сильно отличается. И это вероятно одна из важных составляющих.
Безусловно Azure приложила максимум усилий что бы всё удалось. О чём я и упопянул в послесловии.
Изменения по сравнению с ваниллой минимальные. В основном закрывают проблемы вызванные невозможностью дать доступ к суперюзеру.
в статье деталей почти нет. Не писалось ли где-нибудь, какие характеристики у их хостов в Azure: память, операционная система (ubuntu 22 наверное), файловая система?
Мне бы тоже хотелось это узнать. Я припоминаю, что для PG в Azure самые жирные хосты были следующие, до 96 ядер и память до 672 GB RAM. Но смею предположить, что как раз вот этот момент Azure мог кастомизировать. Так как OpenAI это всё таки премиум клиент. Говоря же о ванильном, это где-то до 128 ядер и память до 2 TB RAM.
Основную нагрузку на запись выносим в шардированные системы вроде Cosmos DB. Нагрузки, которые сложнее шардировать, но при этом создают значительный объём, требуют больше времени на миграцию, поэтому этот процесс продолжается.
Не понятно, как это сочетается c
Поскольку все операции записи проходят через один главный узел (primary), такая архитектура не масштабируется горизонтально.
Он говорит о том, что фундаментально они понимают, что находятся уже в серой зоне. И хотя на данный момент они могут закрыть всё ресурсами и оптимизацией, в каком-то будущем при текущем росте, предел будет достигнут. Поэтому они уже начали процесс переноса части нагрузки на Cosmos DB, но этот процесс ещё в самом начале, это касается новых пользователей, и это долго и сложно.
Масштабирование PostgreSQL до 800 миллионов пользователей ChatGPT