Назад
Як масштабується D1 від Cloudflare до мільйонів баз даних
SiTech AI Team3 хв читання

Як масштабується D1 від Cloudflare до мільйонів баз даних

Серверна SQLite-база D1 від Cloudflare перевищила 5,5 мільйонів баз даних. У новому пості описано архітектуру керівного рівня, що забезпечує масштабування: від Durable Objects до роутингу Workers KV і самовиправних heartbeat-ів.

Зростання витрат на застосунки, створені за допомогою AI

D1 від Cloudflare, керована серверна база даних на базі SQLite, перевищила 5,5 мільйонів баз даних: за станом на 8 жовтня 2026 року кількість активних, невидалених баз зросла за один рік у 15 разів, а за два роки — у 65 разів. Щоденна кількість активних баз за той самий період збільшилася у 18 разів. Компанія пов'язує цей стрибок з розробкою за допомогою AI та платформами vibe coding, які спонукають застосунки до безлічі малих баз: на кожного користувача, застосунок, середовище перегляду або тенанта. ChatGPT Sites від OpenAI — одна з платформ, побудованих на D1. За словами Джона Абрамса з ChatGPT Sites, D1 надає користувачам «простий і масштабований шлях» додавати до своїх сайтів, ігор та інструментів такі функції, як налаштовувані метрики, лідерборди та коментарі.

Архітектура: Durable Objects, Workers KV та Hyperdrive

Кожна база D1 підтримується одним Durable Object на базі SQLite, що робить можливим їх створення мільйонами. Запити API надходять у D1 Edge API Worker, а Eyeball Worker перенаправляє весь трафік до Durable Objects, що знаходяться нижче за течією, і забезпечує спостережуваність, автоматичні повторні спроби та обробку помилок. Workers KV виступає шаром edge-кешування для метаданих важкого роутингу читання, а Hyperdrive пропонує групування з'єднань, кешування та оптимізований роутинг до центрального кластера Postgres, розташованого в основних центрах даних Cloudflare. Команда розділяє операції на три частини: площину даних (data plane) для запитів, площину керування (control plane) для операцій API та фонову асинхронну площину для аналітики та білінгу.

Швидке створення та самовиправні heartbeat-и

Під час створення бази перевіряються ліміти облікового запису, генерується унікальний UUID бази та ID Durable Object, ініціалізується Durable Object, метадані зберігаються в Postgres, а запис-зв'язувач ID записується в Workers KV. Запис у Postgres діє як контрольна точка створення, а остаточне оновлення KV відбувається у виклику waitUntil(), який може завершитися з помилкою. Кожні 30 секунд, з індивідуальним джиттером для кожної бази, кожен Durable Object надсилає heartbeat до площини керування, щоб дізнатися, чи вона в активному стані чи видалена. Ці сироти-и Durable Objects дають можливість позначити себе як видалені та забезпечують те, щоб Workers KV зрештою відображав реальність; при цьому Durable Object виступає контрольною точкою для серіалізації записів у KV.

Відведення запитів від центральної бази

HTTP-запити повністю обходять Postgres. Edge API Worker завантажує запис-зв'язувач бази з Workers KV і звертається до реплік Hyperdrive та Postgres лише у рідкісних випадках промаху кешу, після чого передає запит через Eyeball Worker до Durable Object. Прив'язки Worker виконують зашифровану авторизацію, тому майбутні запити від Worker-ів користувача повністю оминають пошук запису-зв'язувача. Оновлення сховища використання проходять через подібну до Kafka чергу, щоб згрупувати записи в Postgres, а incremental view maintenance попередньо обчислює суми для кожного облікового запису в таблиці account_database_stats, щоб перевірка лімітів відбувалася в постійному часі навіть для облікових записів з мільйонами баз.

Джерела: Cloudflare

SSiTech

SiTech — веброзробка з підтримкою AI

Створюємо швидкі та сучасні сайти й інтегруємо AI у бізнес-процеси. Маєте проєкт чи запитання? Із задоволенням допоможемо.