pgrust er en PostgreSQL-klon skrevet i Rust, der består alle regressionstests.

pgrust-projektet, en PostgreSQL DBMS-implementering omskrevet i Rust ved hjælp af c2rust-oversætteren og en AI-assistent, er blevet udgivet. Selvom projektet endnu ikke er klar til produktionsbrug, har det bestået alle PostgreSQL-regressionstests, er kompatibelt med PostgreSQL 18.3-datalagringsformatet og kan bruge PostgreSQL 18.3-datakataloget. Projektets kode distribueres under AGPLv3-licensen, i modsætning til den originale PostgreSQL, som er licenseret under en permissiv PostgreSQL-licens svarende til BSD- og MIT-licenserne. En online demo baseret på WebAssembly er tilgængelig, ligesom et Docker-billede til hurtig opstart.

Udviklingsmålet er at opnå fuld kompatibilitet med PostgreSQL 18.3, samt at eksperimentere med interne designændringer og oprette en PostgreSQL-version fri for arkitektoniske begrænsninger, der forbliver uløste af historiske årsager. Projektet består en suite af over 46 PostgreSQL-regressionstests, men er i øjeblikket inkompatibelt med PostgreSQL-tilføjelsesprogrammer, leverer ikke de ønskede ydeevneoptimeringer og implementerer ikke fuldt ud proceduresprogene PL/Python, PL/Perl og PL/Tcl.

Planer for fremtiden:

  • Oversættelse til multithreaded intern arkitektur.
  • Implementering af forbindelsespooling.
  • Optimeret til arbejdsgange, der bruger JSON i høj grad.
  • Muligheden for at oprette kopier og forgreninger af databaseelementer i Copy-on-Write-tilstand uden at kopiere data.
  • Eksperimenterer med en arkitektur, der ikke kræver VACUUM-operationen.
  • Et system med SQL-forespørgselsgrænser, der giver dig mulighed for at blokere for stort ressourceforbrug, når du udfører forespørgsler af dårlig kvalitet.
  • Beskyttelse mod at optimeringsprogrammet skifter til mindre effektive forespørgselsudførelsesplaner.

Ifølge projektets forfatter arbejdes der i øjeblikket på den næste version af pgrust, som erstatter en pulje af arbejdsprocesser med en flertrådet forbindelsesbehandlingsmodel og inkorporerer yderligere optimeringer, såsom batchbehandling af tabelrækker og prædiktiv dataindlæsning. Da den nye version af pgrust blev testet med percona-tpcc-værktøjssættet, var den 50 % hurtigere end standard PostgreSQL, når den behandlede transaktioner, og 300 gange hurtigere, når den behandlede analytiske forespørgsler.

En hybrid tilgang blev brugt til Rust-oversættelsen. PostgreSQL-koden blev først behandlet ved hjælp af c2rust-oversætteren, som genererer en usikker Rust-repræsentation, der i struktur ligner den originale C-kode. Efter behandling i c2rust blev der oprettet cirka 1000 crate-pakker, som derefter blev simultant oversat til idiomatisk Rust ved hjælp af Claude AI-modellen og Conductor-værktøjssættet til at distribuere opgaver mellem samtidigt kørende underagenter.

Kilde: opennet.ru

Køb pålidelig hosting til websteder med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster