DBMS EdgeDB preimenovan je u Gel. Izlazak Gel 6.0

Razvijači DBMS-a EdgeDB najavili su preimenovanje projekta u Gel. U isto vreme, predstavljen je novi značajan izdanak — Gel 6.0. Kao razlog promene imena navedena je želja da se oslobode zbunjujućih konotacija uzrokovanih upotrebom reči „edge“, zbog koje mnogi projekt doživljavaju kao DBMS za edge računarstvo ili kao graf-o.orijentisanu DBMS. Preimenovanje se odnosi samo na elemente brenda. Struktura projekta, ciljevi i tim ostali su nepromenjeni. Alati i biblioteke u novom izdanju su preimenovani, ali je zadržana mogućnost korišćenja starih imena putem simboličkih linkova i obavijenih linkova.

Projekat se razvija kao nadogradnja na PostgreSQL, implementirajući relacijsko-grafički model podataka i upitni jezik EdgeQL, optimizovan za rad sa složenim hijerarhijskim podacima. Kod je napisan na jezicima Python i Rust (parser i delovi kritični za performanse) i distribuira se pod Apache 2.0 licencom. Klijent biblioteke su pripremljene za jezike Python, Go, Rust, .NET, Elixir i TypeScript/Javascript. Pruža se alat za rad sa komandnom linijom za upravljanje DBMS-om i interaktivno izvršavanje upita (REPL).

Umesto modela podataka zasnovanog na tabelama, Gel koristi deklarativni sistem zasnovan na objektim tipovima. Umesto spoljašnjih ključeva (foreign key) za definisanje veze između tipova, koristi se povezivanje referencama (jedan objekat može se koristiti kao svojstvo drugog objekta).

type Person { required name: str; } type Movie { required title: str; multi actors: Person; }

Podržavaju se mogućnosti kao što su stroga tipizacija svojstava, ograničenja vrednosti svojstava, proračunata svojstva i čuvane procedure. Od karakteristika objektne sheme skladištenja Gel, koja malo podseća na ORM, ističe se mogućnost mešanja shema, povezivanja svojstava iz različitih objekata i integrisana podrška za JSON. Za ubrzanje obrade upita mogu se koristiti indeksi.

Nude su ugrađeni alati za migraciju skladišne sheme — nakon promjene sheme definirane u zasebnom esdl datoteci, dovoljno je izvršiti naredbu „gel migration create“ i DBMS će analizirati razlike u shemi te interaktivno generirati skriptu za prijelaz na novu shemu. Povijest promjene sheme se automatski prati.

Za formiranje upita podržani su jezik upita GraphQL i vlastiti jezik EdgeQL, koji predstavlja adaptaciju SQL-a za hijerarhijske podatke. Umjesto popisa, rezultati upita prikazuju se u strukturiranom obliku, a umjesto podupita i operacija JOIN pruža se mogućnost navođenja jednog EdgeQL upita kao izraza unutar drugog upita. Podržavaju se transakcije i petlje.

select Movie { title, actors: { name } } filter .title = „The Matrix“ insert Movie { title := „The Matrix Resurrections“, actors := ( select Person filter .name in { ‘Keanu Reeves’, ‘Carrie-Anne Moss’, ‘Laurence Fishburne’ } ) }

Glavne promjene u Gel 6.0:

  • Dodana je mogućnost korištenja tradicionalnih SQL upita prilikom povezivanja s DBMS-om putem protokola Gel ili u načinu rada PostgreSQL protokola. Predviđa se da će podrška za SQL olakšati migraciju na Gel postojećih projekata, koji se sada mogu postupno prebacivati s SQL-a, nastavljajući koristiti stare SQL klijente i SQL ORM. Projekti koji izvorno koriste EdgeQL moći će iskoristiti dodatne mogućnosti koje postoje u SQL-u, ali još nisu implementirane u EdgeQL, poput prozornih funkcija, rekurzivnih upita i eksplicitnih zaključavanja.
  • Dodana je podrška za ažuriranje na licu mjesta, koje ne zahtijeva stvaranje i ponovnu upload baze podataka prilikom prijelaza na novi značajan izdanak. Prilikom ažuriranja s EdgeDB 5.x na Gel 6.0 potrebno je koristiti staru metodu, ali pri prijelazu s Gel 6.x na 7.0 ponovna upload baze podataka neće biti potrebna.
  • Osigurano je čuvanje statistike o performansama upita, koja je dostupna putem objekata sys::QueryStats.
  • Dodana je podrška za PostgreSQL ekstenziju PostGIS za pohranu prostorne podatke koji se koriste u geografskim informacijskim sustavima.
  • Dodana je biblioteka std::net za slanje mrežnih upita (podržava se HTTP) u asinkronom načinu rada.
  • U dodatak ext::auth dodana je podrška za konfiguraciju provajdera OpenID Connect.
  • U nadogradnji ext::ai ažuriran je popis podržanih velikih jezičnih modela od OpenAI, Anthropic i Mistral.
  • Omogućeno je povezivanje dodatnih procesora za naredbe u alatu gel.
  • U EdgeQL-u pojednostavljena je semantika za pronalaženje puteva između čvorova grafa.
  • U gel.toml dodana je opcija „[[watch]]”, koja omogućuje izvršavanje skripti prilikom promjene navedenih datoteka.
  • U ORM Drizzle implementirana je podrška za Gel.

Izvor: opennet.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster