OpenAI масштабує сховище даних для мільярдів користувачів ChatGPT
OpenAI розробила власну платформу онлайн-зберігання даних Habitat, щоб забезпечити швидкий і надійний доступ до інформації для всіх своїх продуктів. Платформа має відповідати на запити понад 1 мільярда користувачів у 40 географічних регіонах за мілісекунди.
Інфраструктура OpenAI стикається з викликом: підтримувати вибухове зростання та нові сценарії використання, продовжуючи покращувати надійність, продуктивність та швидкість розробки продуктів. Для цього довелося переосмислити дизайн та експлуатацію платформи онлайн-зберігання.
Ця двочастинна серія пояснює, як Habitat трансформувалася з простої клієнтської бібліотеки та бази даних у глобально розподілену платформу, що зберігає понад 500 петабайтів даних. Частина I була присвячена еволюції Habitat від Python-клієнта до сервісу. У цій частині, Частині II, розглядається масштабування базового компонента зберігання – Azure Cosmos DB, та досягнення надійної мультиорендної моделі співкерованих контейнерів з високою продуктивністю читання на глобальному рівні.
Habitat – це платформа онлайн-зберігання, створена OpenAI для швидкого та надійного доступу до необхідної інформації.
Зі зростанням компаній інфраструктурні команди часто переходять від одноорендних до мультиорендних систем. Хоча одноорендність знижує ризики та полегшує розподіл відповідальності, вона стає дорогою у використанні. Мультиорендність, навпаки, централізує управління ресурсами, але може створювати проблеми «шумних сусідів» (noisy neighbors), коли один орендар споживає надмірну частку ресурсів.
OpenAI пройшла шлях від одного мультиорендного контейнера Azure Cosmos DB до виділення окремих контейнерів (одноорендний підхід) і зрештою повернулася до мультиорендної моделі за замовчуванням. Це стало можливим завдяки використанню вбудованих механізмів Azure Cosmos DB.
Спочатку OpenAI дозволяла будь-яке клієнтське навантаження, покладаючись на ліміт у 10 тис. одиниць запитів на секунду (RU/s) на логічний ключ розділу. Однак це призводило до проблем:
Використання окремих контейнерів для критичних сценаріїв використання частково вирішило ці проблеми. Кожен контейнер мав власні фізичні розділи, що зменшувало вплив «шумних сусідів». Однак це вимагало значного обсягу роботи з планування потужностей для кожного нового контейнера.
Цей підхід спричинив проблеми зі стабільним агрегованим зростанням: нові сценарії використання, що швидко набирали популярність, непередбачувано збільшували навантаження на виділені контейнери, вимагаючи термінового масштабування. Командам доводилося постійно планувати потужності, що стало складним завданням для великої організації.
Для вирішення операційних проблем OpenAI повернулася до мультиорендного рішення, тісно співпрацюючи з командою Azure над покращеннями:
Ці зміни дозволили повернутися до використання одного спільного контейнера, значно спростивши планування потужностей для команд розробників та зберігши ізоляцію між робочими навантаженнями. За останні місяці не було жодних інцидентів, пов’язаних з виділенням ресурсів чи «шумними сусідами», навіть при прискоренні розробки продуктів.
Після забезпечення надійності, наступним пріоритетом стало підвищення продуктивності для глобальних користувачів. Через географічне розподілення обчислювальних потужностей та сховищ даних, міжрегіональні запити стали неминучими, що призводило до значних затримок.
Для оптимізації продуктивності читання (понад 90% запитів Habitat) OpenAI впровадила трирівневу стратегію:
Переписування частин сервісу Habitat на Rust замість Python також суттєво зменшило накладні витрати, підвищивши продуктивність. Ці зміни дозволили зменшити p50 затримку для читання приблизно з 120 мс до 10 мс.
Надійна CDC є ключовим компонентом не лише для кешування Habitat, але й для живлення вторинних індексів, конвеєрів міграції даних, аналітики тощо. Платформа CDC OpenAI абстрагує складність роботи з мільйонами змін на секунду, забезпечуючи простий інтерфейс для розробників.
Для масштабування Habitat та сховища розмов для наступного мільярда користувачів OpenAI розробляє власну систему онлайн-зберігання даних екзабайтного масштабу, оптимізовану для великих обсягів даних. Ця система поєднує ядро RocksDB Cloud з Raft-реплікацією та реалізує ту саму модель документів, що й Azure Cosmos DB, але з рознесеним сховищем для зменшення потреби у флеш-пам’яті.
джерело: OpenAI
- Останні
- Популярні
Новини по днях
24 жовтня 2026