pgrust — PostgreSQL klons uz Rust, kas iziet visus regresijas testus.

Publicēts projekts pgrust ar PostgreSQL datubāzes pārvaldības sistēmas realizāciju, pārveidotu Rust valodā, izmantojot c2rust tulkotāju un mākslīgā intelekta palīgu. Tiek apgalvots, ka projekts vēl nav gatavs lietošanai darba projektos, taču jau veiksmīgi iziet visus PostgreSQL regresijas testus, ir saderīgs ar PostgreSQL 18.3 datu uzglabāšanas formātu un var izmantot PostgreSQL 18.3 datu katalogu. Projekta kods tiek izplatīts zem AGPLv3 licences, atšķirībā no oriģinālā PostgreSQL, kas tiek piedāvāts zem permisīvās PostgreSQL licences, kas ir tuva BSD un MIT licences. Pieejama tiešsaistes demonstrācija, kas balstīta uz WebAssembly būvniecību, kā arī docker attēls ātrai palaišanai.

Izstrādes mērķī minēta pilnīgas saderības sasniegšana ar PostgreSQL 18.3, kā arī eksperimenti par iekšējo struktūru maiņu un PostgreSQL versijas izveidi, atbrīvojoties no arhitektūras ierobežojumiem, no kuriem vēstures iemeslu dēļ nav iespējams izvairīties. Projekts veiksmīgi iziet vairāk nekā 46 tūkstošus PostgreSQL regresijas testu, bet vēl nav saderīgs ar paplašinājumiem PostgreSQL, nenodrošina vēlamās veiktspējas optimizācijas un nav pilnībā realizējis procedūras valodas PL/Python, PL/Perl un PL/Tcl.

Nākotnes plāni:

  • Pāreja uz daudz pavedienu iekšējo arhitektūru.
  • Savienojumu pultēšanas realizācija.
  • Optimizācija darba procesiem, kas aktīvi izmanto JSON.
  • Iespēja izveidot datu bāzes elementu kopijas un atzarojumus Copy-on-Write režīmā, neveicot datu kopēšanu.
  • Eksperimenti ar arhitektūru, kas neprasa VACUUM operācijas izpildi.
  • SQL pieprasījumu ierobežojumu sistēma, kas ļauj bloķēt resursu pārmērīgu patēriņu sliktu pieprasījumu izpildes laikā.
  • Aizsardzība pret optimizētāja pārslēgšanu uz mazāk efektīviem izpildes plāniem.

Saskaņā ar projekta autora vārdiem, pašlaik tiek strādāts pie nākamās pgrust versijas, kurā tā vietā, lai izmantotu darba procesu pulti, tiek realizēta daudz pavedienu savienojumu apstrādes modele, kā arī tiek īstenotas papildu optimizācijas, piemēram, pakotņu apstrāde tabulās un datu priekšlaicīga ielāde. Testējot ar percona-tpcc rīku darījumu apstrādē, jaunā pgrust versija izrādījās 50% ātrāka nekā standarta PostgreSQL, bet analītisko pieprasījumu apstrādē — 300 reizes ātrāka.

Pārejot uz Rust, tika izmantots hibrīdais pieejas veids, kur PostgreSQL kods sākotnēji tika apstrādāts, izmantojot tulkotāju c2rust, kas ģenerēja unsafe Rust pārstāvniecību, kas ir tuvu sākotnējā C valodā rakstītajam kodam. Pēc c2rust apstrādes tika izveidoti aptuveni 1000 crate pakotņu, kas vienlaikus tika tulkoti idiomātiskajā Rust, izmantojot AI modeli Claude un rīku Conductor, lai sadalītu uzdevumus starp vienlaicīgi palaistiem subaģentiem.

Avots: opennet.lv

Iegādājieties uzticamu tīmekļa hostingu ar DDoS aizsardzību, VPS VDS serveriem 🔥 Iegādājieties uzticamu tīmekļa hostingu ar DDoS aizsardzību, VPS VDS serveriem | ProHoster