Команда OpenAI опублікувала другу частину детального звіту про роботу своєї платформи зберігання даних Habitat, яка обслуговує понад мільярд користувачів ChatGPT у всьому світі. У матеріалі інженери Джон Лі, Грачья Акопян та Чаомін Ю розповіли про те, як вони впоралися з безпрецедентним зростанням навантаження та оптимізували роботу базової бази даних Azure Cosmos DB.
Платформа Habitat виникла з необхідності забезпечити швидкий і надійний доступ до даних для всіх продуктів компанії у 40 географічних регіонах. У першій частині серії автори зосекречувалися на еволюції сервісу від простого клієнта до розподіленої системи, що зараз опрацьовує понад 500 петабайт даних. Друга частина присвячена виключно взаємодії з хмарною архітектурою Azure та переходу до ефективного спільного використання контейнерів.
Еволюція підходів до мультиорендатності
Під час масштабування інфраструктурні команди зазвичай обирають між єдиним режимом оренди для кожного окремого продукту та централізованою мультиорендатністю. Одноорендні системи знижують ризики та спрощують управління, проте стають занадто дорогими та вимагають постійного перепланування ресурсів. Водночас спільне використання баз даних створює інші проблеми на кшталт «галасливих сусідів», коли один активний орендар споживає занадто багато ресурсів на шкоду іншим.
Спочатку інженери OpenAI дозволяли будь-який клієнтський трафік, спираючись на стандартні ліміти Azure Cosmos DB. Проте такий підхід призвів до зіткнень на часто використовуваних ключах логічних розділів на кшталт ідентифікаторів користувачів чи робочих просторів. Через це інтенсивні запити від однієї популярної функції могли обмежувати продуктивність усієї системи для інших користувачів.
Джерела: openai.com




