EdgeDB, graf relačných dát DBMS

Nedávno bolo oznámené vydanie DBMS «EdgeDB 2.0», ktorý implementuje relačný dátový model relačného grafu a dotazovací jazyk EdgeQL, optimalizovaný pre prácu s komplexnými hierarchickými údajmi.

EdgeDB je open source databáza navrhnutá ako duchovný nástupca SQL a relačnej paradigmy. Jeho cieľom je vyriešiť niektoré zložité konštrukčné problémy, ktoré zbytočne zaťažujú používanie existujúcich databáz.

EdgeDB, poháňaný dopytovacím strojom Postgres pod kapotou, premýšľa o schéme rovnakým spôsobom ako vy: ako o objektoch s vlastnosťami spojenými väzbami. Je to ako relačná databáza s objektovo orientovaným dátovým modelom alebo grafová databáza s prísnou schémou. Hovoríme tomu relačná databáza grafov.

O EdgeDB

Projekt je vyvíjaný ako plugin pre PostgreSQL. Klientske knižnice sú pripravené pre jazyky Python, Go, Rust a TypeScript/Javascript.

Namiesto tabuľkového dátového modelu EdgeDB používa deklaratívny systém založený na typoch objektov. Namiesto cudzích kľúčov (cudzí kľúč) sa na určenie vzťahu medzi typmi používa väzba odkazu (objekt možno použiť ako vlastnosť iného objektu).

Indexy možno použiť na urýchlenie spracovania dotazov. Tiež sú podporované funkcie ako silné písanie vlastností, obmedzenia hodnoty vlastností, vypočítané vlastnosti a uložené procedúry. Niektoré z funkcií schémy ukladania objektov EdgeDB, ktoré trochu pripomínajú ORM, zahŕňajú schopnosť miešať schémy, spájať vlastnosti rôznych objektov a podporovať vstavaný JSON.

Na migráciu sú k dispozícii vstavané nástroje schéma úložiska: Po zmene schémy špecifikovanej v samostatnom súbore esdl stačí spustiť príkaz „edgedb Migration create“ a DBMS analyzuje rozdiely v schéme a interaktívne vygeneruje skript. migrovať na novú schému. História modifikácií schémy sa sleduje automaticky.

Pre dopytovanie sa používa jazyk GraphQL aj jazyk ako vlastný jazyk EdgeDB, čo je prispôsobenie SQL pre hierarchické dáta. Namiesto zoznamov majú výsledky dotazu štruktúrovaný formát a namiesto poddotazov a JOINov môže byť dotaz EdgeQL špecifikovaný ako výraz v rámci iného dotazu. Transakcie a cykly sú podporované.

Hlavné nové funkcie EdgeDB 2.0

V novej verzii, ktorá bola predstavená, bolo pridané integrované webové rozhranie pre správu databázy umožňuje prezerať a upravovať dáta, spúšťať EdgeQL dotazy a analyzovať použitú schému ukladania. Rozhranie sa spúšťa príkazom "edgedb ui", po ktorom je dostupné prístupom k localhost.

Výraz "GROUP" bola implementovaná, aby umožnila rozdelenie a agregáciu údajov a zoskupovanie údajov pomocou ľubovoľných výrazov EdgeQL, podobne ako zoskupovanie v operácii SELECT.

Schopnosť riadiť prístup na úrovni objektu, pravidlá prístupu sú definované na úrovni schémy úložného priestoru a umožňujú vám obmedziť používanie špecifickej množiny objektov v operáciách výberu, vloženia, vymazania a aktualizácie. Môžete napríklad pridať pravidlo, ktoré umožní aktualizovať príspevok iba autorovi.

Je tiež zdôraznené, že pridaná možnosť používať globálne premenné v schéme skladovania. Na prepojenie s používateľom bola navrhnutá nová globálna premenná.

Z ďalších zmien, ktoré vynikajú:

  • Oficiálna knižnica klientov pre jazyk Rust bola pripravená.
  • Stabilizoval sa binárny protokol EdgeDB, v ktorom bolo možné súčasne spracovať niekoľko rôznych relácií v rámci toho istého sieťového pripojenia, preposielať cez HTTP, pomocou globálnych premenných a lokálnych stavov.
  • Pridaná podpora pre typy, ktoré definujú rozsahy hodnôt (rozsah).
  • Pridaná podpora pre aktiváciu soketu, ktorá umožňuje neuchovávať ovládač servera v pamäti a spustiť ho len pri pokuse o nadviazanie spojenia (užitočné pre šetrenie zdrojov na vývojových systémoch).

Konečne pre tých, ktorí majú záujem dozvedieť sa viac, mali by vedieť, že kód je napísaný v Pythone a Ruste a je vydaný pod licenciou Apache 2.0.

Viac sa o tom dozviete na nasledujúci odkaz.


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.