Lëshimi i parë stabil i sistemit të menaxhimit të të dhënave rrelacionale-grafike EdgeDB

Versioni e parë stabile e SGBD-së EdgeDB është tani në dispozicion, që përfaqëson një shtresë mbi PostgreSQL me implementimin e një modeli të dhënash relacional-grafik dhe gjuhës së pyetjeve EdgeQL, të optimizuar për të punuar me të dhëna komplekse hierarkike. Kodi është shkruar në gjuhët Python dhe Rust dhe shpërndahet nën licencën Apache 2.0. Bibliotekat e klientëve janë përgatitur për gjuhët Python, Go, Rust dhe TypeScript/Javascript. Ofron mjete komandash për menaxhimin e SGBD-së dhe ekzekutimin interaktiv të pyetjeve (REPL).

Në vend të modelit të dhënave të bazuar në tabela, EdgeDB përdor një sistem deklarativ të bazuar në lloje objektesh. Në vend të çelçave të jashtme (foreign key) për të përcaktuar marrëdhëniet midis llojeve, përdoret lidhja nëpërmjet referencave (një objekt mund të përdoret si pronë e një objekti tjetër). type Person { required property name -> str; } type Movie { required property title -> str; multi link actors -> Person; }

Indekset mund të përdoren për të përshpejtuar përpunimin e kërkesave. Mbështeten gjithashtu mundësi të tilla si tipizimi i rigoroz i pronave, kufizimet e vlerave të pronave, pronat e llogaritur dhe procedurat e ruajtura. Një nga veçoritë e skemës objektike të ruajtjes EdgeDB, e cila ngjan disi me ORM, është mundësia e përzierjes së skemave, lidhjes së pronave nga objekte të ndryshme dhe mbështetje e integruar për JSON.

Ofrohen mjete tĂ« integruara pĂ«r migrimin e skemĂ«s sĂ« ruajtjes — pas ndryshimit tĂ« skemĂ«s, tĂ« pĂ«rcaktuar nĂ« njĂ« skedĂ« tĂ« veçantĂ« esdl, mjafton tĂ« ekzekutohet komanda "edgedb migration create" dhe DBMS do tĂ« analizohet ndryshimet nĂ« skemĂ« dhe do tĂ« gjenerojĂ« njĂ« skenar pĂ«r kalimin nĂ« skemĂ«n e re nĂ« mĂ«nyrĂ« interaktive. Historiku i ndryshimeve tĂ« skemĂ«s Ă«shtĂ« i monitoruar automatikisht.

PĂ«r formimin e kĂ«rkesave mbĂ«shtetet si gjuha e kĂ«rkesave GraphQL ashtu edhe gjuha e vet EdgeDB, e cila Ă«shtĂ« njĂ« adaptim i SQL pĂ«r tĂ« dhĂ«nat hierarkike. NĂ« vend tĂ« listave, rezultatet e kĂ«rkesĂ«s paraqiten nĂ« mĂ«nyrĂ« tĂ« strukturuar, dhe nĂ« vend tĂ« nĂ«nkĂ«rkesave dhe operacioneve JOIN ofrohet mundĂ«sia pĂ«r tĂ« specifikuar njĂ« kĂ«rkesĂ« EdgeQL si njĂ« shprehje brenda njĂ« kĂ«rkese tjetĂ«r. MbĂ«shteten 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’ } ) } for number in {0, 1, 2, 3} union ( select { number, number + 0.5 } );

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