Облака · 11 ноября 2026 г.
Cloudflare масштабирует плоскость управления D1 для миллионов баз данных
Компания Cloudflare переработала плоскость управления своей бессерверной базой данных SQL под названием D1, чтобы обеспечить поддержку миллионов баз данных. В рамках этого обновления компания внедрила механизмы повторных попыток, идемпотентность и согласованность в конечном счете, чтобы избежать централизованных узких мест.
Архитектура плоскости управления D1 базируется на использовании Postgres для транзакционных метаданных, ClickHouse для аналитики и Workers KV для данных маршрутизации с глобальной репликацией. Для повышения масштабируемости и восстановления после сбоев используются распределенное кэширование метаданных, объединение соединений, асинхронные рабочие процессы и периодические проверки состояния. Обработка запросов вынесена на периферию, отдельно от операций централизованного управления.
Для синхронизации каждого объекта D1 Durable Object с Postgres, который является основным источником истины для лимитов аккаунтов и существования баз данных, Cloudflare применяет 30-секундные сигналы сердцебиения с индивидуальным джиттером для каждой базы данных. Этот механизм позволяет автоматически исправлять ошибки при создании или удалении объектов: осиротевшие объекты помечаются как удаленные, а метаданные маршрутизации Workers KV восстанавливаются в случае сбоя обновлений.
Чтобы снизить нагрузку на централизованную базу данных Postgres, запросы D1 направляются от Edge API Worker через Eyeball Worker напрямую к соответствующему объекту D1 Durable Object. Edge API Worker отвечает за аутентификацию, авторизацию, ограничение частоты запросов и валидацию, в то время как Eyeball Worker полагается на авторизацию, закодированную в привязках D1, что исключает повторные проверки на пути запроса.
Лимиты хранилища D1 контролируются с помощью асинхронных обновлений использования, которые ставятся в очередь и объединяются в пакеты для защиты Postgres от всплесков записи. Общие итоги по аккаунтам поддерживаются через инкрементные дельты хранилища, что позволяет избежать дорогостоящего сканирования для аккаунтов с миллионами баз данных. Объекты Durable Objects проверяют эти итоги через краткосрочный кэш Hyperdrive и блокируют запись, если она превышает лимит аккаунта.
База данных D1, представленная в 2022 году, построена на базе SQLite и работает в глобальной сети Cloudflare. За последний год количество ежедневно активных баз данных выросло в 18 раз.