veilletech.fr
1 nov. Feed du jour
#09 MESURE Article

Jepsen : 96 défauts dans ParticleDB, à quitter

« Compatible Postgres » est une promesse. Un test de comparaison est une preuve.

Jepsen a trouvé 96 problèmes dans ParticleDB, base multimodèle présentée comme Full ACID, la plupart sans panne et avec un seul client. Dix restaient ouverts à la fin des tests, dont des écritures validées perdues dans le mode par défaut. Jepsen recommande de migrer, pendant que l'éditeur affirme avoir tout corrigé dans une version non testée.

3 min de lectureintermédiairevidéo 1:24
Partager
Sommaire5 sections
  1. Ce qui se passe
  2. Ce qu'il reste
  3. Les réserves
  4. La méthode à emprunter
  5. Comment s'y prendre

Ce qui se passe

ParticleDB, écrite en Rust par Orkes, se présente comme une base transactionnelle, clé-valeur, vectorielle et analytique pour les agents d'IA, compatible avec le protocole Postgres. Son site annonçait du « Full ACID » et une preuve TLA+ jamais publiée.

Jepsen a testé les versions 1.1.4 à 1.1.18.11.rc-22 et a relevé 96 problèmes. La plupart apparaissent avec un seul nœud, un seul client et aucune panne provoquée. Quelques cas :

Ce qu'il reste

En rc-22, tous les problèmes sauf dix semblaient résolus. Mais :

Jepsen recommande de stopper les nouveaux déploiements, de migrer dès que possible, et de vérifier ou reconstruire les données depuis une source plus fiable si elle existe.

Les réserves

La méthode à emprunter

Le test compare tient en deux mille lignes environ : il génère schémas et requêtes au hasard, les exécute sur ParticleDB et sur Postgres, puis compare les résultats. Jepsen en a extrait une partie dans une bibliothèque réutilisable.

Sa limite : une fois les gros défauts corrigés, de petites différences légitimes occupent le test, qui risque de manquer le reste.

Jepsen s'interroge enfin sur le rôle des LLM : une documentation abondante citant des classes qui n'existent pas, et une équipe qui, selon le rapport, semblait ne pas pouvoir expliquer la plupart des causes. Rien ne prouve ce lien pour chaque défaut, mais les signes de maturité ne suffisent plus à juger un projet.

Comment s'y prendre

  1. Si vous utilisez ParticleDB 1.1.x, suivez la recommandation et contrôlez vos données.
  2. Avant d'adopter une base récente, rejouez vos requêtes contre Postgres, en insérant des cas limites : NULL, doublons, NaN, transactions annulées.
  3. Ne prenez pas « compatible » ni « prouvé formellement » pour une garantie sans test public.

Source : Jepsen, 2026, discuté sur Hacker News le 31 octobre. Source en anglais.