Déi éischt stabil Verëffentlechung vun der relationaler Grafik DBMS EdgeDB

Déi éischt stabil Verëffentlechung vum EdgeDB DBMS ass verfügbar, wat en Add-on zu PostgreSQL ass mat der Implementatioun vum relationalen Grafikdatenmodell an der EdgeQL Query Sprooch, optimiséiert fir mat komplexen hierarcheschen Donnéeën ze schaffen. De Code ass a Python a Rust geschriwwen a gëtt ënner der Apache 2.0 Lizenz verdeelt. Client Bibliothéike si fir Python, Go, Rust an TypeScript / Javascript virbereet. Bitt Kommandozeil Tools fir DBMS Gestioun an interaktiv Ufro Ausféierung (REPL).

Amplaz vun engem Dësch-baséiert Datemodell benotzt EdgeDB en deklarative System baséiert op Objekttypen. Amplaz vun auslännesche Schlëssele gëtt d'Verknëppung duerch Referenz benotzt fir d'Relatioun tëscht Typen ze definéieren (een Objet kann als Eegeschafte vun engem aneren Objet benotzt ginn). Typ Persoun { obligatoresch Eegeschafte Numm -> str; } Typ Film { obligatoresch Eegeschafte Titel -> str; Multi Link Akteuren -> Persoun; }

Indexe kënne benotzt ginn fir Ufroveraarbechtung ze beschleunegen. Features wéi staark Immobilietyping, Immobiliewäertbeschränkungen, berechent Eegeschafte, a gespäichert Prozeduren ginn och ënnerstëtzt. Features vum EdgeDB Objektspeicherschema, wat e bëssen un en ORM erënnert, enthalen d'Fäegkeet fir Schemaen ze vermëschen, Eegeschafte vu verschiddenen Objeten ze verbannen, an integréiert JSON Support.

Built-in Tools ginn zur Verfügung gestallt fir d'Schemamigratioun ze späicheren - nodeems Dir de Schema geännert hutt, deen an enger separater esdl Datei spezifizéiert ass, fuert just de Kommando "edgedb migration create" an d'DBMS analyséiert d'Ënnerscheeder am Schema an generéiert interaktiv e Skript fir d'Migratioun op de neie Schema. D'Geschicht vu Schema Ännerungen gëtt automatesch verfollegt.

Fir Ufroen ze generéieren, souwuel d'GraphQL Query Sprooch wéi och déi propriétaire EdgeDB Sprooch, déi eng Adaptatioun vu SQL fir hierarchesch Donnéeën ass, ënnerstëtzt. Amplaz vu Lëschte ginn Ufroresultater op eng strukturéiert Manéier formatéiert, an amplaz Ënnersufroen a JOINs, kënnt Dir eng EdgeQL Ufro als Ausdrock an enger anerer Ufro spezifizéieren. Transaktiounen an Zyklen ginn ënnerstëtzt. wielt Movie { title, actors: { name } } filter .title = "The Matrix" insert Movie { title := "The Matrix Resurrections", Schauspiller := (wielt Persoun Filter .name an { 'Keanu Reeves', 'Carrie- Anne Moss', 'Laurence Fishburne' } ) } fir Nummer an {0, 1, 2, 3} Gewerkschaft (wielt { Zuel, Zuel + 0.5 });

Source: opennet.ru

Setzt e Commentaire