← Derniers articles
🤖 AI

Zeta-Lite: A Concurrent, Branchable In-Browser SQL Database for Agentic Memory

Zeta-lite est un moteur de base de données SQL compact, concurrent et ramifiable, intégré au navigateur et construit sur WebAssembly, qui permet des transactions à isolation par instantané (snapshot-isolated) chevauchantes et un ramification (branching) de la base de données par copie sur écriture (copy-on-write), offrant une interface PostgreSQL complète optimisée pour la mémoire agentique et les applications locales de type « local-first ».

Auteurs originaux : Gene Zhang

Publié 2026-09-03✓ Author reviewed
📖 7 min de lecture🧠 Analyse approfondie

Auteurs originaux : Gene Zhang

Article original sous licence CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Ceci est une explication générée par l'IA de l'article ci-dessous. Elle n'a pas été rédigée par les auteurs. Pour une précision technique, consultez l'article original. Lire la clause de non-responsabilité complète

Pendant des décennies, l'internet a fonctionné selon une règle simple : vos données vivaient sur un serveur quelque part ailleurs, et votre ordinateur n'était qu'une fenêtre pour les observer. Si vous vouliez rechercher, trier ou analyser ces données, vous deviez envoyer une requête à travers le réseau et attendre que la réponse revienne. Ce modèle a changé à mesure que les applications ont commencé à exiger plus de confidentialité et la capacité de fonctionner sans connexion internet. L'idée de garder les données directement sur l'appareil de l'utilisateur, plutôt que dans un cloud lointain, est devenue une priorité. Ce changement a conduit à un nouveau défi pour les ingénieurs logiciels : comment construire un système de données puissant et structuré qui s'exécute entièrement à l'intérieur d'un navigateur web ? Les navigateurs sont conçus pour être sûrs et isolés, ce qui en fait des endroits difficiles pour exécuter des logiciels complexes qui nécessitent généralement un accès profond au système d'exploitation de l'ordinateur.

La solution traditionnelle a consisté à réduire la taille des systèmes de bases de données existants ou à utiliser des outils très simples qui manquent de fonctionnalités avancées. Une approche populaire consiste à prendre un moteur de base de données massif, à le simplifier et à le traduire dans un format que les navigateurs peuvent comprendre, mais cela force souvent le logiciel à fonctionner lentement ou en mode séquentiel, incapable de gérer plusieurs tâches à la fois. Une autre approche utilise de minuscules moteurs légers qui sont rapides mais ne peuvent pas effectuer de recherches complexes ou gérer des relations complexes entre différentes pièces d'information. La question restait de savoir s'il était possible d'avoir une base de données assez petite pour tenir dans un navigateur, assez rapide pour être instantanée et assez intelligente pour gérer des tâches multiples et imbriquées en même temps.

Un chercheur a maintenant construit un système appelé Zeta-lite qui répond à cette question par un oui définitif. Il a créé un moteur de base de données qui vit entièrement à l'intérieur d'un navigateur web, pesant seulement 2,87 mégaoctets une fois compressé. Malgré sa petite taille, il peut effectuer des recherches complexes, gérer plusieurs utilisateurs travaillant simultanément, et même créer des copies de lui-même pour tester de nouvelles idées sans risquer les données originales. Ce système est conçu spécifiquement pour un nouveau type de logiciel : des agents d'intelligence artificielle qui fonctionnent dans le navigateur et qui ont besoin d'un endroit pour stocker leurs pensées, leurs souvenirs et leurs découvertes. Le chercheur a découvert qu'en changeant la façon dont la base de données mémorise son historique, il pouvait atteindre un niveau de performance et de flexibilité auparavant jugé impossible pour un programme aussi petit.

Le cœur de sa découverte réside dans la façon dont la base de données gère le temps. La plupart des bases de données traditionnelles fonctionnent comme une route à voie unique où les voitures doivent attendre que celle de devant ait fini avant de progresser. Si deux personnes tentent de mettre à jour la même information en même temps, l'une d'elles doit attendre. Zeta-lite fonctionne différemment. Au lieu d'une voie unique, elle traite chaque morceau de donnée comme ayant un historique de versions. Lorsqu'une tâche commence, elle prend un instantané des données à cet instant précis. Elle peut ensuite travailler sur sa propre version de la vérité pendant que d'autres tâches se déroulent en même temps. Si deux tâches tentent de modifier la même chose, le système détecte le conflit et en arrête une, mais il ne les force pas à attendre leur tour. Cela permet à plusieurs tâches de s'exécuter simultanément sur un seul thread d'exécution, un exploit qui nécessite habituellement du matériel complexe et puissant ou des paramètres de navigateur spéciaux que la plupart des sites web ne peuvent pas utiliser.

Cette capacité à gérer des tâches imbriquées est couplée à une caractéristique unique appelée "branching" (branchement). Dans le monde du développement logiciel, créer une branche signifie faire une copie d'un projet pour travailler sur une nouvelle idée sans casser l'original. Zeta-lite apporte ce concept directement aux données elles-mêmes. Une application peut créer une fourche (fork) de sa base de données entière dans une nouvelle branche, apporter des modifications, les tester, puis décider soit de fusionner ces changements dans la base de données principale, soit de les abandonner totalement. Cela se produit presque instantanément et sans utiliser d'espace de stockage supplémentaire, car le système n'enregistre que les différences entre les branches. Pour un agent d'intelligence artificielle, c'est un outil puissant. Cela lui permet d'explorer une hypothèse, d'essayer un nouveau plan ou de simuler une conversation, puis de simplement effacer l'expérience si elle échoue, laissant la mémoire originale parfaitement intacte.

Le chercheur a testé ce système rigoureusement pour s'assurer qu'il ne s'agissait pas seulement d'un concept théorique mais d'une réalité opérationnelle. Il a fait fonctionner la base de données dans deux des navigateurs les plus populaires, Chrome et Firefox, et a comparé sa vitesse à celle d'une version native s'exécutant sur un ordinateur standard. Il a constaté que la version de navigateur était presque aussi rapide que la version native, gérant des centaines de milliers de recherches de données par seconde. Lors de tests où plusieurs tâches tentaient de mettre à jour les mêmes données simultanément, le système a géré avec succès les conflits sans planter ni ralentir. Il a également vérifié que le système pouvait fonctionner pendant de longues périodes sans perdre de données ni fuite de mémoire, même en grandissant pour gérer des millions d'opérations. La base de données persistait son état en enregistrant un instantané complet d'elle-même dans le stockage privé du navigateur, un processus qui prenait moins d'une seconde même pour de grandes quantités de données.

Ce qui rend cette réussite particulièrement significative, c'est qu'elle ne repose pas sur l'infrastructure complexe et lourde qui alimente habituellement de tels systèmes. La plupart des bases de données basées sur le navigateur offrant des fonctionnalités similaires nécessitent des en-têtes de sécurité spéciaux qui forcent les sites web à s'isoler du reste d'Internet, ce qui limite leur utilisation. Zeta-lite évite cela entièrement. Il s'exécute sur le thread principal du navigateur, là où se trouve le reste du site web, sans nécess avoir besoin de mesures de sécurité supplémentaires ou de travailleurs en arrière-plan. Cela signifie qu'il peut être intégré dans n'importe quelle application web sans changer la façon dont le site est construit ou hébergé. Le système est construit à partir de la même base de code qu'une base de données serveur beaucoup plus grande, prouant que la logique complexe requise pour la gestion de données avancée peut être compressée en un minuscule paquet sans perdre sa puissance.

Les implications de ce travail vont au-delà de la simple vitesse ou de la taille. Cela ouvre la porte à une nouvelle génération d'applications capables de se souvenir et de raisonner sur leurs propres données localement. Imaginez un assistant IA qui vit dans votre navigateur, capable de stocker votre historique personnel, d'apprendre de vos interactions et d'organiser vos informations sans jamais envoyer ces données vers un serveur distant. Avec la capacité de ramifier sa mémoire, cet assistant pourrait essayer différentes façons d'organiser vos notes ou de planifier votre journée, en ne conservant que les résultats qui fonctionnent. Le chercheur a déjà commencé à construire un système compagnon appelé Zengram-lite qui utilise ces capacités exactes pour créer un système de mémoire pour de tels agents.

L'article conclut que la vieille hypothèse — selon laquelle vous devez choisir entre une base de données petite et simple et une base de données grande et puissante — n'est plus vraie. En repensant à la façon dont les données sont versionnées et dont les tâches sont gérées, il est possible d'avoir les deux. Le moteur Zeta-lite démontre qu'une base de données entièrement dotée de fonctionnalités, concurrente et capable de branchement, peut tenir dans un navigateur web et atteindre un niveau de performance rivalisant avec les logiciels natifs. Il ne s'agit pas d'une simulation ou d'une promesse de technologie future ; c'est un système opérationnel disponible dès aujourd'hui, prêt à être utilisé par les développeurs qui souhaitent construire des applications privées, rapides et capables de raisonnement complexe directement sur l'appareil de l'utilisateur.

Noyé(e) sous les articles dans votre domaine ?

Recevez des digests quotidiens des articles les plus récents correspondant à vos mots-clés de recherche — avec des résumés techniques, dans votre langue.

Essayer Digest →