pgrust est un clone de PostgreSQL écrit en Rust qui réussit tous les tests de régression.

Le projet pgrust, une implĂ©mentation du SGBD PostgreSQL réécrite en Rust Ă  l'aide du traducteur c2rust et d'un assistant IA, est dĂ©sormais disponible. Bien que le projet ne soit pas encore prĂȘt pour une utilisation en production, il a passĂ© avec succĂšs tous les tests de rĂ©gression PostgreSQL, est compatible avec le format de stockage de donnĂ©es PostgreSQL 18.3 et peut utiliser le catalogue de donnĂ©es PostgreSQL 18.3. Le code du projet est distribuĂ© sous licence AGPLv3, contrairement Ă  PostgreSQL, qui est distribuĂ© sous une licence permissive similaire aux licences BSD et MIT. Une dĂ©monstration en ligne basĂ©e sur WebAssembly est disponible, ainsi qu'une image Docker pour un dĂ©marrage rapide.

L'objectif de dĂ©veloppement est d'atteindre une compatibilitĂ© totale avec PostgreSQL 18.3, ainsi que d'expĂ©rimenter des modifications de conception interne et de crĂ©er une version de PostgreSQL exempte des limitations architecturales qui persistent pour des raisons historiques. Le projet rĂ©ussit avec succĂšs une sĂ©rie de plus de 46 000 tests de rĂ©gression PostgreSQL, mais est actuellement incompatible avec les modules complĂ©mentaires PostgreSQL, n'offre pas les optimisations de performance souhaitĂ©es et n'implĂ©mente pas entiĂšrement les langages procĂ©duraux PL/Python, PL/Perl et PL/Tcl.

Projets pour l'avenir:

  • Traduction vers une architecture interne multithread.
  • Mise en Ɠuvre du regroupement de connexions.
  • OptimisĂ© pour les flux de travail qui utilisent intensivement JSON.
  • La possibilitĂ© de crĂ©er des copies et des branches d'Ă©lĂ©ments de base de donnĂ©es en mode Copy-on-Write sans copier les donnĂ©es.
  • ExpĂ©rimentations avec une architecture qui ne nĂ©cessite pas l'opĂ©ration VACUUM.
  • Un systĂšme de limites de requĂȘtes SQL qui vous permet de bloquer la consommation excessive de ressources lors de l'exĂ©cution de requĂȘtes de mauvaise qualitĂ©.
  • Protection contre le passage de l'optimiseur Ă  des plans d'exĂ©cution de requĂȘtes moins efficaces.

D'aprĂšs l'auteur du projet, la prochaine version de pgrust est en cours de dĂ©veloppement. Elle remplace un pool de processus de travail par un modĂšle de traitement des connexions multithread et intĂšgre des optimisations supplĂ©mentaires, comme le traitement par lots des lignes de table et le chargement prĂ©dictif des donnĂ©es. TestĂ©e avec l'outil percona-tpcc, cette nouvelle version de pgrust s'est avĂ©rĂ©e 50 % plus rapide que PostgreSQL standard pour le traitement des transactions et 300 fois plus rapide pour le traitement des requĂȘtes analytiques.

Une approche hybride a Ă©tĂ© utilisĂ©e pour la traduction en Rust. Le code PostgreSQL a d'abord Ă©tĂ© traitĂ© avec le traducteur c2rust, qui gĂ©nĂšre une reprĂ©sentation Rust non sĂ©curisĂ©e dont la structure est similaire Ă  celle du code C original. AprĂšs traitement par c2rust, environ 1 000 paquets crate ont Ă©tĂ© créés, puis traduits simultanĂ©ment en Rust idiomatique grĂące au modĂšle d'IA Claude et Ă  la boĂźte Ă  outils Conductor, permettant la distribution des tĂąches entre des sous-agents exĂ©cutĂ©s en parallĂšle.

Source: opennet.ru

Achetez un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Achetez un hĂ©bergement web fiable avec protection DDoS, serveurs VPS et VDS | ProHoster