pgrust — kloni PostgreSQL nĂ« Rust, qĂ« kalon tĂ« gjitha testet e regresionit

Projekti pgrust Ă«shtĂ« publikuar me implementimin e DBMS PostgreSQL, i shkruar nĂ« gjuhĂ«n Rust duke pĂ«rdorur pĂ«rkthyesin c2rust dhe ndihmĂ«sin AI. ËshtĂ« deklaruar se projekti ende nuk Ă«shtĂ« i gatshĂ«m pĂ«r t'u pĂ«rdorur nĂ« projekte tĂ« punĂ«s, por tashmĂ« kalon me sukses tĂ« gjitha testet regresive tĂ« PostgreSQL, Ă«shtĂ« i pĂ«rputhshme me formatin e ruajtjes sĂ« tĂ« dhĂ«nave PostgreSQL 18.3 dhe mund tĂ« pĂ«rdorĂ« katalogun e dhĂ«nave nga PostgreSQL 18.3. Kodi i projektit shpĂ«rndahet nĂ«n licensĂ«n AGPLv3, nĂ« ndryshim nga PostgreSQL origjinal, i cili ofrohet nĂ«n njĂ« licensĂ« permissive PostgreSQL, e afĂ«rt me licencat BSD dhe MIT. NjĂ« demonstrim online i mundĂ«sive Ă«shtĂ« i disponueshĂ«m, i bazuar nĂ« njĂ« grumbullim nĂ« WebAssembly, si dhe njĂ« imazh docker pĂ«r njĂ« nisje tĂ« shpejtĂ«.

Si një qëllim të zhvillimit, përmendet arritja e një përputhshmërie të plotë me PostgreSQL 18.3, si dhe realizimi i eksperimentimeve për ndryshimin e strukturës së brendshme dhe krijimin e një versioni PostgreSQL, i liruar nga kufizimet arkitekturore, nga të cilat nuk është e mundur të largohemi për arsye historike. Projekti kalon me sukses një set më shumë se 46,000 teste regresive të PostgreSQL, por për momentin është i papërputhshëm me shtesa të PostgreSQL, nuk ofron optimizimet e dëshiruara të performancës dhe nuk realizon plotësisht gjuhët procedurale PL/Python, PL/Perl dhe PL/Tcl.

Planet për të ardhmen:

  • Kthimi nĂ« njĂ« arkitekturĂ« tĂ« brendshme me shumĂ« skeda.
  • Implementimi i pool-it tĂ« lidhjeve.
  • Optimalizimi pĂ«r proceset qĂ« pĂ«rdorin intensivisht JSON.
  • MundĂ«sia e krijimit tĂ« kopjeve dhe degĂ«ve tĂ« elementeve tĂ« DB nĂ« modin Copy-on-Write pa kopjimin e tĂ« dhĂ«nave.
  • Eksperimentet me njĂ« arkitekturĂ« qĂ« nuk kĂ«rkon kryerjen e operacionit VACUUM.
  • Sistemi i kufizimeve tĂ« SQL-query-t, qĂ« lejon bllokimin e konsumit tĂ« tepĂ«rt tĂ« burimeve gjatĂ« ekzekutimit tĂ« queries me cilĂ«si tĂ« ulĂ«t.
  • Mbrojtja nga kalimi i optimizuesit nĂ« planet e ekzekutimit tĂ« queries mĂ« pak efektive.

Sipas autorit të projektit, aktualisht po punohet për versionin e ardhshëm të pgrust, në të cilin modelin e zhvillimit të punëtorive e zëvendëson një model shumëthithës për trajtimin e lidhjeve, si dhe janë implementuar optimizime të tjera, si përpunimi me grupe të rreshtave në tabela dhe ngarkimi parashikues i të dhënave. Gjatë testimit me mjetin percona-tpcc për trajtime të transaksioneve, versioni i ri i pgrust ishte 50% më i shpejtë se PostgreSQL i zakonshëm, ndërsa për trajtimin e kërkesave analitike ishte 300 herë më i shpejtë.

Gjatë përkthimit në Rust, është përdorur një qasje hibride, në të cilën kodi i PostgreSQL fillimisht u përpunua me ndihmën e përkthyesit c2rust, i cili gjeneron një përfaqësim unsafe të Rust-it, të ngjashëm me strukturën e kodit origjinal në C. Pas përpunimit në c2rust, u krijuan rreth 1000 crate-pakete, të cilat u përkthyen paralelisht në Rust-in idiomatik me ndihmën e modelit AI Claude dhe mjeteve të Conductor për shpërndarjen e detyrave midis sub-agjentëve që punonin njëkohësisht.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster