pgrust — a PostgreSQL Rust-ban írt klónja, amely átesik az összes regressziós teszten

Megjelent a pgrust projekt, amely a PostgreSQL adatbázis-kezelőt Rust nyelven valósította meg, a c2rust fordító és mesterséges intelligencia asszisztens segítségével. A projekt jelenleg még nem készült el a munkaprojektekben való használatra, de már sikeresen teljesíti a PostgreSQL összes regressziós tesztjét, kompatibilis a PostgreSQL 18.3 adatformátummal, és használhatja a PostgreSQL 18.3 adatkönyvtárát. A projekt kódja AGPLv3 licenc alatt terjesztésre került, eltérően az eredeti PostgreSQL-től, amely permisszív PostgreSQL licenc alatt érhető el, hasonlóan a BSD és MIT licencekhez. Online demó is elérhető, amely WebAssembly építésen alapul, valamint egy docker-kép a gyors indításhoz.

A fejlesztés céljaként említik a teljes kompatibilitás elérését a PostgreSQL 18.3-mal, valamint kísérleteznek a belső szerkezet módosításával és egy olyan PostgreSQL verzió létrehozásával, amely megszabadul a történelmi okok miatt fennálló architekturális korlátoktól. A projekt sikeresen teljesít több mint 46 ezer regressziós tesztet a PostgreSQL-ből, de jelenleg nem kompatibilis a PostgreSQL kiegészítőivel, nem nyújtja az elvárt teljesítményoptimalizálásokat, és nem valósítja meg teljes mértékben a PL/Python, PL/Perl és PL/Tcl eljárási nyelveket.

Jövőbeli tervek:

  • Átállás a többszálú belső architektúrára.
  • Kapcsolatkezelő pooling megvalósítása.
  • Optimalizálás olyan munkafolyamatokhoz, amelyek aktívan használják a JSON-t.
  • Lehetőség adatbázis-elemek példányainak és ágainak létrehozására Copy-on-Write módban anélkül, hogy adatokat másolnánk.
  • Kísérletezés olyan architektúrával, amely nem igényli a VACUUM művelet végrehajtását.
  • SQL-lekérdezések korlátozási rendszere, amely megakadályozza a túlzott erőforrás-felhasználást gyenge minőségű lekérdezések végrehajtása során.
  • Védelem az optimalizáló kevésbé hatékony végrehajtási tervekhez való váltása ellen.

A projekt szerzője szerint jelenleg a következő pgrust verzión dolgoznak, amelyben a munkafolyamatok poolingja helyett többszálú kapcsolatkezelési modellt valósítanak meg, valamint további optimalizálásokat is bevezetnek, mint például a táblázatok sorainak csoportos feldolgozása és az adatok előzetes betöltése. A percona-tpcc eszközkészlettel végzett tranzakciókezelési tesztek során az új pgrust verzió 50%-kal gyorsabb volt, mint a natív PostgreSQL, az analitikai lekérdezések feldolgozása során pedig 300-szoros gyorsaságot mutatott.

A Rustra történelmében hibrid megközelítést alkalmaztak, amelynek során a PostgreSQL kódot először a c2rust fordító segítségével dolgozták fel, amely egy unsafe Rust reprezentációt generál, amely szerkezetileg közel áll az eredeti C kódhoz. A c2rust feldolgozása után körülbelül 1000 crate-csomag készült, amelyeket párhuzamosan idiomatikus Rust-ra fordítottak a Claude AI-modell és a Conductor eszközkészlet segítségével, amely lehetővé tette a feladatok elosztását egyszerre futó alügynökök között.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster