pgrust — PostgreSQL kloon Rustis, mis lĂ€bib kĂ”ik regressioonitestid

Avalikustatud on projekt pgrust, mis rakendab PostgreSQL andmebaasihaldurit, kirjutatud Rust keeles koos c2rust tĂ”lkeprogrammi ja AI-assistendiga. Teadaanne ĂŒtleb, et projekt ei ole veel valmis töösse rakendamiseks, kuid on edukalt lĂ€binud kĂ”ik PostgreSQL regressioonitestid, on ĂŒhilduv PostgreSQL 18.3 andmete salvestamise formaadiga ja suudab kasutada PostgreSQL 18.3 andmekatalooge. Projekti kood on saadaval AGPLv3 litsentsi all, erinevalt originaalist PostgreSQL, mis on vĂ€lja antud PostgreSQLi lubava litsentsi all, mis sarnaneb BSD ja MIT litsentsidega. Saadaval on veebipĂ”hine demonstreerimine, mis pĂ”hineb WebAssembly kogumisel, samuti docker-pilt kiireks kĂ€ivitamiseks.

Arenduse eesmĂ€rgiks on saavutada tĂ€ielik ĂŒhilduvus PostgreSQL 18.3-ga, samuti katsetada sisemise struktuuri muutmist ja luua PostgreSQL versioon, mis on vabastatud ajaloolistest arhitektuurilistest piirangutest. Projekt on edukalt lĂ€binud enam kui 46 000 PostgreSQL regressioonitesti, kuid pole veel ĂŒhilduv PostgreSQL laiendustega, ei paku soovitud jĂ”udlusoptimeerimisi ning ei targa tĂ€ielikult protseduurilisi keeli PL/Python, PL/Perl ja PL/Tcl.

Tulevikuplaanid:

  • Üleminek mitme lĂ”ime sisemisele arhitektuurile.
  • Ühenduste ĂŒhendamise rakendamine.
  • Optimeerimine töövoogude jaoks, mis kasutavad intensiivselt JSON-i.
  • VĂ”ime luua koopiaid ja alamsĂŒsteeme andmebaasi elementidest Copy-on-Write reĆŸiimis, andmeid kopeerimata.
  • Katsetused arhitektuuriga, mis ei nĂ”ua VACUUM operatsiooni tĂ€itmist.
  • SQL-pĂ€ringute piirangusĂŒsteem, mis vĂ”imaldab blokeerida liialdatud ressursikasutust halva kvaliteediga pĂ€ringute tĂ€itmisel.
  • Kaitse optimeerija vahetamise eest vĂ€hem efektiivseteks pĂ€ringute tĂ€itmise plaanideks.

Projekti autori sĂ”nul töötatakse praegu jĂ€rgmise pgrust versiooni kallal, mis rakendab mitme lĂ”ime ĂŒhenduste töötlemise mudelit ning hĂ”lmab tĂ€iendavaid optimeerimisi, nagu tabelite ridade pakettide töötlemine ja andmete ennetav laadimine. Testimisel percona-tpcc tööriistaga, uusi pgrust versioon osutus 50% kiiremaks tehasest PostgreSQL-ist tehingute töötlemisel ja 300 korda kiiremaks analĂŒĂŒtiliste pĂ€ringute töötlemisel.

Rusti tĂ”lkimisel kasutati hĂŒbriidset lĂ€henemist, kus PostgreSQL kood töödeldi alguses c2rust tĂ”lkijaga, mis genereeris unsafe Rusti esitusviisi, mis on oma struktuurilt sarnane algsele C-koodile. c2rust töötlemise kĂ€igus loodi ligikaudu 1000 crate-paketti, mida tĂ”lgiti samaaegselt idiomaatiliseks Rustiks AI mudeli Claude ja tööriista Conductor abil, mis jagas ĂŒlesandeid samaaegselt töötavate sub-agentide vahel.

Allikas: opennet.ru

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster