DB EdgeDB është rinovuar si Gel. Lëshimi Gel 6.0

Zhvilluesit e DBMS EdgeDB shpallĂ«n ndryshimin e emrit tĂ« projektit nĂ« Gel. NjĂ«kohĂ«sisht, Ă«shtĂ« formuar njĂ« version i ri i rĂ«ndĂ«sishĂ«m — Gel 6.0. Arsyeja e ndryshimit tĂ« emrit Ă«shtĂ« dĂ«shira pĂ«r tĂ« eliminuar konotacione tĂ« pasakta tĂ« shkaktuara nga pĂ«rdorimi i fjalĂ«s "edge", e cila ka bĂ«rĂ« qĂ« shumĂ« tĂ« pĂ«rceptojnĂ« projektin si njĂ« DBMS pĂ«r llogaritjet nĂ« skaj ose si njĂ« DBMS tĂ« orientuar ndaj grafike. Ndryshimi i emrit ka prekur vetĂ«m elementĂ«t e markĂ«s. Struktura e projektit, qĂ«llimet dhe ekipi kanĂ« mbetur tĂ« njĂ«jta. UtilitarĂ«t dhe bibliotekat nĂ« versionin e ri janĂ« riemĂ«ruar, por pĂ«r tĂ« siguruar pĂ«rputhshmĂ«rinĂ« prapa, Ă«shtĂ« ruajtur mundĂ«sia pĂ«r tĂ« pĂ«rdorur emrat e vjetĂ«r pĂ«rmes lidhjeve simbolike dhe mbĂ«shtetjes.

Projekti zhvillohet si një shtesë mbi PostgreSQL, duke implementuar modelin relacional-grafik të të dhënave dhe gjuhën e pyetjeve EdgeQL, të optimizuar për punë me të dhëna hierarkike të komplikuara. Kodi është shkruar në gjuhët Python dhe Rust (parser dhe pjesët kritike për performancën), dhe shpërndahet nën licencën Apache 2.0. Bibliotekat për klientët janë përgatitur për gjuhët Python, Go, Rust, .NET, Elixir dhe TypeScript/Javascript. Ofrohet një mjet komandash për menaxhimin e DBMS-së dhe ekzekutimin interaktiv të pyetjeve (REPL).

Në Gel zbatohet një sistem deklarativ i bazuar në tipe objektesh, në vend të modelit të të dhënave të bazuar në tabela. Në vend të çelësave të jashtëm (foreign key) për të përcaktuar lidhjet midis tipeve, përdoret lidhja me referenca (një objekt mund të përdoret si një pronë e një objekti tjetër).

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

Përkrahje e mundësive si tipizimi i rreptë i pronave, kufizimet e vlerave të pronave, pronat e llogaritura dhe procedurat e ruajtura. Nga veçoritë e skemës objektive të ruajtjes në Gel, e cila ngjan disi me ORM, vlen të theksohet mundësia e përzierjes së skemave, lidhjes së pronave nga objekte të ndryshme dhe mbështetje e integruar për JSON. Për të përshpejtuar përpunimin e pyetjeve, mund të përdoren indekset.

Ofrohen mjete tĂ« integruara pĂ«r migrimin e skemĂ«s sĂ« ruajtjes — pas ndryshimit tĂ« skemĂ«s, e cila pĂ«rcaktohet nĂ« njĂ« skedar tĂ« veçantĂ« esdl, mjafton tĂ« kryhet komanda "gel migration create" dhe DBMS do tĂ« analizojĂ« diferencat nĂ« skemĂ« dhe nĂ« mĂ«nyrĂ« interaktive do tĂ« gjenerojĂ« njĂ« skenar pĂ«r kalimin nĂ« skemĂ«n e re. Historia e ndryshimeve tĂ« skemĂ«s ndiqet automatikisht.

Për formimin e pyetjeve mbështetet gjuhë pyetjesh GraphQL dhe gjuhë e vetme EdgeQL, e cila përfaqëson një adaptim të SQL për të dhëna hierarkike. Në vend të listave, rezultatet e pyetjeve paraqiten në një formë të strukturuar, dhe në vend të nënpyetjeve dhe operacioneve JOIN, ofrohet mundësia e specifikimit të një pyetje EdgeQL si një shprehje brenda një pyetje tjetër. Janë mbështetur transaksionet dhe ciklet.

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’ } ) }

Ndryshimet kryesore në Gel 6.0:

  • Shtuar mundĂ«sia e pĂ«rdorimit tĂ« pyetjeve tradicionale SQL kur lidhemi me DBMS pĂ«rmes protokollit Gel ose nĂ« mĂ«nyrĂ« protokolli PostgreSQL. Parashihet se mbĂ«shtetje e SQL do tĂ« thjeshtojĂ« migrimin nĂ« Gel tĂ« projekteve ekzistuese, qĂ« tani mund tĂ« kalojnĂ« gradualisht nga SQL, duke vazhduar tĂ« pĂ«rdorin klientĂ«t e vjetĂ«r SQL dhe SQL ORM. Projektet, qĂ« fillimisht pĂ«rdorin EdgeQL, do tĂ« jenĂ« nĂ« gjendje tĂ« shfrytĂ«zojnĂ« mundĂ«sitĂ« shtesĂ«, qĂ« janĂ« nĂ« SQL, por ende nuk janĂ« realizuar nĂ« EdgeQL, si funksionet e dritarave, pyetjet rekursive dhe bllokimet e qarta.
  • Shtuar mbĂ«shtetje pĂ«r pĂ«rditĂ«simin nĂ« vend, qĂ« nuk kĂ«rkon krijimin dhe ngarkimin e njĂ« dump-i tĂ« DB-sĂ« gjatĂ« kalimit nĂ« njĂ« version tĂ« ri tĂ« rĂ«ndĂ«sishĂ«m. NĂ« pĂ«rditĂ«simin nga EdgeDB 5.x nĂ« Gel 6.0 do tĂ« duhet tĂ« pĂ«rdoret metoda e vjetĂ«r, por gjatĂ« kalimit nga Gel 6.x nĂ« 7.0 nuk do tĂ« nevojitet ngarkimi i dump-it.
  • Siguruar ruajtja e statistikave pĂ«r performancĂ«n e pyetjeve, tĂ« cilat janĂ« tĂ« disponueshme pĂ«rmes objekteve sys::QueryStats.
  • Shtuar mbĂ«shtetje pĂ«r zgjerimin PostGIS tĂ« PostgreSQL pĂ«r ruajtjen e tĂ« dhĂ«nave hapĂ«sinore, qĂ« pĂ«rdoren nĂ« sistemet e informacionit gjeografik.
  • Shtuar biblioteka std::net pĂ«r dĂ«rgimin e kĂ«rkesave rrjetĂ«sore (mbĂ«shtetet HTTP) nĂ« mĂ«nyrĂ« asinkrone.
  • Shtuar mbĂ«shtetje e konfiguruar pĂ«r furnizues OpenID Connect, pĂ«rveç ext::auth.
  • NĂ« pĂ«rkushtimin ext::ai Ă«shtĂ« pĂ«rditĂ«suar lista e modeleve tĂ« mĂ«dha tĂ« gjuhĂ«s tĂ« mbĂ«shtetura nga OpenAI, Anthropic dhe Mistral.
  • Ofruar mundĂ«sia e lidhjes sĂ« menaxherĂ«ve tĂ« tjerĂ« pĂ«r komandat nĂ« utilitarin gel.
  • NĂ« EdgeQL Ă«shtĂ« thjeshtuar semantika pĂ«r gjetjen e rrugĂ«ve ndĂ«rmjet nyjave tĂ« grafit.
  • NĂ« gel.toml Ă«shtĂ« shtuar konfigurimi «[[watch]]», qĂ« lejon ekzekutimin e skriptĂ«ve kur ndryshojnĂ« skedarĂ«t e caktuar.
  • NĂ« ORM Drizzle Ă«shtĂ« realizuar mbĂ«shtetje pĂ«r Gel.

Burimi: opennet.ru

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