EdgeDB, grafová relační data DBMS

Nedávno bylo oznámeno vydání DBMS «EdgeDB 2.0», který implementuje relační grafový relační datový model a dotazovací jazyk EdgeQL, optimalizovaný pro práci s komplexními hierarchickými daty.

EdgeDB je open source databáze navržená jako duchovní nástupce SQL a relačního paradigmatu. Jeho cílem je vyřešit některé složité konstrukční problémy, které zbytečně zatěžují používání stávajících databází.

EdgeDB, poháněný dotazovacím strojem Postgres pod kapotou, uvažuje o schématu stejným způsobem jako vy: jako o objektech s vlastnostmi spojenými vazbami. Je to jako relační databáze s objektově orientovaným datovým modelem nebo grafová databáze s přísným schématem. Říkáme tomu relační databáze grafů.

O EdgeDB

Projekt je vyvíjen jako plugin pro PostgreSQL. Klientské knihovny jsou připraveny pro jazyky Python, Go, Rust a TypeScript/Javascript.

Namísto tabulkového datového modelu EdgeDB používá deklarativní systém založený na typech objektů. Místo cizích klíčů (cizí klíč) se k určení vztahu mezi typy používá referenční vazba (objekt lze použít jako vlastnost jiného objektu).

Indexy lze použít ke zrychlení zpracování dotazů. Taky jsou podporovány funkce, jako je silné zadávání vlastností, omezení hodnoty vlastnosti, vypočítané vlastnosti a uložené procedury. Některé z funkcí schématu úložiště objektů EdgeDB, které trochu připomíná ORM, zahrnují schopnost míchat schémata, vázat vlastnosti různých objektů a podporu pro embedded JSON.

Pro migraci jsou k dispozici vestavěné nástroje schéma úložiště: Po změně schématu uvedeného v samostatném souboru esdl stačí spustit příkaz „edgedb Migration create“ a DBMS analyzuje rozdíly ve schématu a interaktivně vygeneruje skript. k migraci na nové schéma. Historie změn schématu je sledována automaticky.

Pro dotazování jak dotazovací jazyk GraphQL, tak i jako vlastní jazyk EdgeDB, což je adaptace SQL pro hierarchická data. Místo seznamů mají výsledky dotazu strukturovaný formát a místo poddotazů a JOINů lze zadat dotaz EdgeQL jako výraz v rámci jiného dotazu. Transakce a cykly jsou podporovány.

Hlavní nové funkce EdgeDB 2.0

V nové verzi, která byla představena, bylo přidáno integrované webové rozhraní pro správu databáze umožňuje prohlížet a upravovat data, spouštět dotazy EdgeQL a analyzovat použité schéma úložiště. Rozhraní se spouští příkazem "edgedb ui", po kterém je dostupné přístupem k localhost.

Výraz "GROUP" byla implementována, aby umožnila rozdělení a agregaci dat a seskupování dat pomocí libovolných výrazů EdgeQL, podobně jako seskupování v operaci SELECT.

Schopnost řídit přístup na úrovni objektu, pravidla přístupu jsou definována na úrovni schématu úložiště a umožňují vám omezit použití konkrétní sady objektů v operacích výběru, vkládání, odstraňování a aktualizace. Můžete například přidat pravidlo, které povolí aktualizovat příspěvek pouze autorovi.

To je také zdůrazněno přidána možnost používat globální proměnné ve schématu úložiště. Pro vazbu na uživatele byla navržena nová globální proměnná.

Z dalších změn, které vynikají:

  • Oficiální klientská knihovna pro jazyk Rust byla připravena.
  • Byl stabilizován binární protokol EdgeDB, ve kterém bylo možné zpracovávat několik různých relací současně v rámci stejného síťového připojení, přeposílání přes HTTP, pomocí globálních proměnných a lokálních stavů.
  • Přidána podpora pro typy, které definují rozsahy hodnot (rozsah).
  • Přidána podpora aktivace soketu, která umožňuje neuchovávat ovladač serveru v paměti a spustit jej pouze při pokusu o navázání spojení (užitečné pro úsporu prostředků na vývojových systémech).

Konečně pro ty, kteří se o tom chtějí dozvědět více, měli by vědět, že kód je napsán v Pythonu a Rustu a je vydán pod licencí Apache 2.0.

Více se o tom můžete dozvědět na následující odkaz.


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.