EdgeDB, egy gráf relációs adatok DBMS

nemrég bejelentették az „EdgeDB 2.0” DBMS kiadását, amely a relációs gráf relációs adatmodellt és az EdgeQL lekérdezési nyelvet valósítja meg, összetett hierarchikus adatokkal való munkára optimalizálva.

Az EdgeDB egy nyílt forráskódú adatbázis, amelyet az SQL és a relációs paradigma szellemi utódjaként terveztek. Célja néhány bonyolult tervezési probléma megoldása, amelyek a meglévő adatbázisok használatát szükségtelenül megterhelővé teszik.

A burkolat alatt található Postgres lekérdezőmotorral működtetett EdgeDB ugyanúgy gondolkodik a sémáról, mint te: olyan objektumokként, amelyek tulajdonságait kötések kapcsolják össze. Olyan ez, mint egy relációs adatbázis egy objektumorientált adatmodellel vagy egy gráfadatbázis szigorú sémával. Nevezzük gráfok relációs adatbázisának.

Az EdgeDB-ről

A projektet a PostgreSQL bővítményeként fejlesztik. Az ügyfélkönyvtárak a Python, Go, Rust és a TypeScript/Javascript nyelvekhez készültek.

Tábla alapú adatmodell helyett EdgeDB objektumtípusokon alapuló deklaratív rendszert használ. Az idegen kulcsok (idegen kulcs) helyett a típusok közötti kapcsolat meghatározásához referenciakötést használnak (egy objektum egy másik objektum tulajdonságaként is használható).

Az indexek segítségével felgyorsítható a lekérdezések feldolgozása. Is olyan funkciókat támogat, mint például az erős tulajdonságok beírása, tulajdonságérték megszorítások, számított tulajdonságok és tárolt eljárások. Az EdgeDB objektumtárolási séma néhány, az ORM-re emlékeztető funkciója magában foglalja a sémák keverésének lehetőségét, a különböző objektumok tulajdonságainak összerendelését és a beágyazott JSON támogatását.

A migrációhoz beépített eszközök állnak rendelkezésre a tárolási séma: A külön esdl fájlban megadott séma megváltoztatása után csak futtassa az „edgedb migration create” parancsot, és a DBMS elemzi a séma különbségeit, és interaktívan generál egy parancsfájlt. áttérni az új sémára. A rendszer automatikusan nyomon követi a sémamódosítási előzményeket.

A lekérdezéshez mind a GraphQL lekérdezési nyelv, mind a az EdgeDB saját nyelveként, amely az SQL adaptációja hierarchikus adatokhoz. A listák helyett a lekérdezések eredményei strukturált formátumúak, az allekérdezések és JOIN-ok helyett pedig egy EdgeQL-lekérdezés adható meg kifejezésként egy másik lekérdezésben. A tranzakciók és ciklusok támogatottak.

Az EdgeDB 2.0 fő újdonságai

A bemutatott új verzióban integrált webes felülettel bővült adatbázis adminisztrációhoz lehetővé teszi az adatok megtekintését és szerkesztését, EdgeQL lekérdezések futtatását és elemezze a használt tárolási sémát. Az interfész az "edgedb ui" paranccsal indul, majd a localhost elérésével elérhető.

A kifejezés A „GROUP” az adatok particionálásának és összesítésének lehetővé tétele érdekében került megvalósításra és az adatok csoportosítása tetszőleges EdgeQL kifejezésekkel, hasonlóan a SELECT műveletben történő csoportosításhoz.

Objektum szintű hozzáférés szabályozásának képessége, A hozzáférési szabályok a tárolási séma szintjén vannak meghatározva, és lehetővé teszik egy adott objektumkészlet használatának korlátozását a kijelölési, beszúrási, törlési és frissítési műveletekben. Hozzáadhat például egy olyan szabályt, amely csak a szerző számára engedélyezi a bejegyzés frissítését.

Azt is kiemelik hozzáadott képesség a globális változók használatához a tárolási sémában. A felhasználóhoz való kötődéshez új globális változót javasoltak.

A többi kiemelkedő változás közül:

  • Elkészült a hivatalos ügyfélkönyvtár a Rust nyelvhez.
  • Stabilizálódott az EdgeDB bináris protokoll, melyben lehetővé vált több különböző munkamenet egyidejű feldolgozása ugyanazon a hálózati kapcsolaton belül, HTTP-n keresztüli továbbítással, globális változók és lokális állapotok felhasználásával.
  • Hozzáadott támogatás az értéktartományokat (tartomány) meghatározó típusokhoz.
  • Hozzáadott támogatás a socket aktiváláshoz, amely lehetővé teszi, hogy a kiszolgáló illesztőprogramja ne maradjon a memóriában, és csak akkor induljon el, amikor megpróbálja létrehozni a kapcsolatot (hasznos a fejlesztői rendszerek erőforrásainak megtakarításához).

Végül azok számára, akik többet szeretnének tudni róla, tudniuk kell, hogy a kód Python és Rust nyelven íródott, és az Apache 2.0 licenc alatt került kiadásra.

Erről többet megtudhat a címen következő link.


Legyen Ön az első hozzászóló

Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: Miguel Ángel Gatón
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.