# D1 de Cloudflare gère des millions de bases SQLite sans goulot d’étranglement

_Publié le 8 novembre 2026 — https://ip73.fr/2026/11/08/d1-de-cloudflare-gere-des-millions-de-bases-sqlite-sans-goulot-d/_

L'essor des plateformes de développement assistées par IA pousse les applications vers un modèle où chaque utilisateur, ou chaque environnement de prévisualisation, possède sa propre petite base de données. Ce schéma, qui rompt avec l'architecture traditionnelle des gros clusters, correspond parfaitement à D1, la base de données gérée et sans serveur de Cloudflare, qui utilise SQLite. Le défi technique majeur était de faire évoluer le plan de contrôle de D1 pour gérer des millions de bases sans que chaque requête ne soit ralentie par un goulot d'étranglement centralisé.

Selon Cloudflare, l'adoption de D1 est en forte croissance. Au 8 octobre 2026, le nombre de bases de données actives et non supprimées avait augmenté de 15 fois sur l'année écoulée, et de 65 fois sur deux ans. Parallèlement, le nombre de bases de données actives quotidiennement avait vu son volume grimper de 18 fois sur la même période. Des plateformes comme ChatGPT Sites utilisent déjà cette capacité pour intégrer des fonctionnalités telles que des classements ou des commentaires à leurs outils.

Pour atteindre cette échelle, l'équipe d'ingénierie a dû modifier profondément l'architecture. Les principes directeurs retenus, qui peuvent servir de guide à quiconque construit ses propres plans de contrôle sur la plateforme Cloudflare, insistent sur la nécessité d'anticiper les pannes, d'implémenter l'idempotence, et surtout, d'éviter de centraliser les composants critiques dans une seule région pour les opérations de données.

## Le traitement des requêtes à la périphérie

Le secret pour supporter cette activité massive réside dans le fait de maintenir le traitement des requêtes à la périphérie du réseau, loin des opérations de gestion centralisées. Une requête utilisateur n'est pas acheminée vers le cluster Postgres principal pour être exécutée. Au lieu de cela, un *Edge API Worker* reçoit la demande, qui est ensuite transmise par un *Eyeball Worker* directement à l'objet durable SQLite correspondant. Cette décentralisation est ce qui permet de gérer le volume d'activité.

Pour coordonner ces millions d'objets, Cloudflare utilise un mécanisme de « battement de cœur » (*heartbeat*). Cet objet durable se synchronise avec le cluster Postgres, qui demeure la source de vérité concernant l'existence et les limites des bases de données. Si une opération de création ou de suppression échoue, ce système est conçu pour s'auto-corriger, réparant les métadonnées routières dans Workers KV si les mises à jour en mode « meilleur effort » échouent.

Workers KV joue un rôle plus complexe qu'un simple cache. Il agit comme un magasin de données durable à la périphérie. Si une entrée n'est pas trouvée dans le cache de bordure, la lecture est servie depuis le stockage propre à KV plutôt que de solliciter Postgres, ce qui est essentiel pour prévenir des défaillances métastables lors de pics de requêtes.

## Les mécanismes de stabilité et de contrôle des flux

La robustesse du système repose aussi sur des garde-fous pour contrôler les flux. Afin de protéger le cluster Postgres contre les pics d'écriture, les mises à jour d'utilisation des données sont traitées de manière asynchrone et mises en file d'attente. Les totaux d'utilisation des comptes sont précalculés par incréments, ce qui évite des scans coûteux lorsque des comptes gèrent des millions d'enregistrements. Les objets durables vérifient ces totaux via le cache éphémère de Hyperdrive avant d'autoriser une écriture, bloquant ainsi les dépassements de limite.

Pour optimiser la lecture, la réplication de lecture (*read replicas*) permet de répartir le trafic sur plusieurs régions géographiques, réduisant la latence pour les utilisateurs proches. D1 intègre également la fonction *Time Travel*, qui permet de restaurer une base de données à n'importe quelle minute des trente derniers jours, offrant une approche intégrée pour les sauvegardes.

Bien que le niveau gratuit de Cloudflare inclue 5 Go de stockage et 100 000 lignes lues par jour, les coûts sont précisés au-delà : le stockage dépasse 0,75 dollar par Go-mois, et les écritures coûtent 1 dollar par million de lignes. Il faudra surveiller comment les plateformes intègrent cette gestion fine des ressources, car le modèle de micro-bases semble devenir la norme pour les applications modernes construites autour de l'IA.

## Sources

- [Under the hood, off the hot path: how D1 scales to millions of databases](https://blog.cloudflare.com/d1-control-plane/), blog.cloudflare.com
- [Overview Â· Cloudflare D1 docs](https://developers.cloudflare.com/d1/?), developers.cloudflare.com
- [Cloudflare Scales D1 Control Plane to Millions of Databases](https://www.infoq.com/news/2026/11/cloudflare-d1-control-plane/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global), InfoQ, 8 novembre 2026
