EdgeDB, grafiko reliacinių duomenų DBVS

Neseniai buvo paskelbta DBVS „EdgeDB 2.0“ išleidimas, kuri įgyvendina reliacinio grafo reliacinių duomenų modelį ir EdgeQL užklausų kalbą, optimizuotą darbui su sudėtingais hierarchiniais duomenimis.

EdgeDB yra atvirojo kodo duomenų bazė, sukurta kaip dvasinis SQL ir reliacinės paradigmos įpėdinis. Jo tikslas yra išspręsti kai kurias sudėtingas projektavimo problemas, dėl kurių esamų duomenų bazių naudojimas tampa nereikalingas.

Naudojamas Postgres užklausų variklio, esančio po gaubtu, EdgeDB galvoja apie schemą taip pat, kaip ir jūs: kaip objektus, kurių ypatybės yra sujungtos surišimais. Tai tarsi reliacinė duomenų bazė su objektiniu duomenų modeliu arba grafinė duomenų bazė su griežta schema. Mes tai vadiname reliacine grafikų duomenų baze.

Apie EdgeDB

Projektas kuriamas kaip PostgreSQL įskiepis. Klientų bibliotekos yra paruoštos Python, Go, Rust ir TypeScript/Javascript kalboms.

Vietoj lentelės duomenų modelio, EdgeDB naudoja deklaratyvią sistemą, pagrįstą objektų tipais. Vietoj svetimų raktų (svetimo rakto), kad būtų galima nustatyti ryšį tarp tipų, naudojamas nuoroda įrišimas (objektas gali būti naudojamas kaip kito objekto savybė).

Indeksai gali būti naudojami užklausų apdorojimui paspartinti. Taip pat palaikomos tokios funkcijos kaip stiprus nuosavybės įvedimas, nuosavybės vertės apribojimai, apskaičiuotos savybės ir saugomos procedūros. Kai kurios EdgeDB objektų saugojimo schemos ypatybės, šiek tiek primenančios ORM, apima galimybę maišyti schemas, susieti skirtingų objektų savybes ir įterptojo JSON palaikymą.

Perkėlimui pateikiami integruoti įrankiai saugojimo schema: pakeitę atskirame esdl faile nurodytą schemą, tiesiog paleiskite komandą „edgedb migration create“ ir DBVS išanalizuos schemos skirtumus ir interaktyviai sugeneruos scenarijų. pereiti prie naujos schemos. Schemos pakeitimų istorija sekama automatiškai.

Užklausai pateikti tiek GraphQL užklausos kalba, tiek kaip savo kalbą EdgeDB, kuri yra SQL pritaikymas hierarchiniams duomenims. Vietoj sąrašų užklausos rezultatai turi struktūrinį formatą, o vietoj antrinių užklausų ir JOIN, EdgeQL užklausa gali būti nurodyta kaip išraiška kitoje užklausoje. Palaikomos operacijos ir ciklai.

Pagrindinės naujos EdgeDB 2.0 funkcijos

Pristatytoje naujoje versijoje buvo pridėta integruota žiniatinklio sąsaja duomenų bazės administravimui leidžia peržiūrėti ir redaguoti duomenis, vykdyti EdgeQL užklausas ir analizuoti naudojamą saugojimo schemą. Sąsaja paleidžiama komanda „edgedb ui“, po kurios ji pasiekiama prisijungus prie „localhost“.

Išraiška „GROUP“ buvo įdiegta, kad būtų galima skirstyti duomenis ir kaupti duomenis ir duomenų grupavimas naudojant savavališkas EdgeQL išraiškas, panašiai kaip grupavimas atliekant SELECT operaciją.

Galimybė valdyti prieigą objekto lygiu, prieigos taisyklės yra apibrėžtos saugyklos schemos lygiu ir leidžia apriboti konkretaus objektų rinkinio naudojimą pasirinkimo, įterpimo, ištrynimo ir atnaujinimo operacijose. Pavyzdžiui, galite pridėti taisyklę, leidžiančią tik autoriui atnaujinti įrašą.

Taip pat pabrėžiama pridėta galimybė naudoti globalius kintamuosius saugojimo schemoje. Norint susieti su vartotoju, buvo pasiūlytas naujas pasaulinis kintamasis.

Iš kitų išsiskiriančių pakeitimų:

  • Parengta oficiali rūdžių kalbos klientų biblioteka.
  • Stabilizuotas EdgeDB dvejetainis protokolas, kuriame atsirado galimybė vienu metu tame pačiame tinklo jungtyje apdoroti keletą skirtingų seansų, persiunčiant per HTTP, naudojant globalius kintamuosius ir vietines būsenas.
  • Pridėtas palaikymas tipams, kurie apibrėžia reikšmių diapazonus (diapazonas).
  • Pridėtas lizdo aktyvinimo palaikymas, leidžiantis nelaikyti serverio tvarkyklės atmintyje ir paleisti ją tik bandant užmegzti ryšį (naudinga taupant išteklius kūrimo sistemose).

Pagaliau norintiems sužinoti apie tai daugiau, jie turėtų žinoti, kad kodas parašytas Python ir Rust kalbomis ir išleistas pagal Apache 2.0 licenciją.

Daugiau apie tai galite sužinoti adresu sekanti nuoroda.


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.