Ett AGE-tillägg har förberetts för PostgreSQL för att lagra data i form av en graf

För PostgreSQL föreslagen AGE (AgensGraph-Extension) tillägg med frågespråk implementering openCypher för att manipulera uppsättningar av sammankopplade hierarkiska data som bildar en graf. Istället för kolumner och rader använder graforienterade databaser en struktur som liknar ett nätverk – noder, deras egenskaper och relationer mellan noder specificeras. ÅLDER levererad av licensierad under Apache 2.0-licensen, under ledning av Apache Foundation av Bitnine och för närvarande inrymd i Apache Incubator.

Projektet fortsätter utvecklingen av DBMS AgentsGraphsom är är en modifierad PostgreSQL-modifiering för grafbearbetning. Den viktigaste skillnaden är implementeringen av AGE i form av ett universellt tillägg som fungerar som ett tillägg över vanliga PostgreSQL-utgåvor. Nummer publicerat nyligen Apache AGE 0.2.0 stöder PostgreSQL 11.

I nuvarande tillstånd AGE stöder sådana funktioner i Cyphers frågespråk som att använda uttrycket "CREATE" för att definiera noder och länkar, uttrycket "MATCH" för att söka efter data i en graf enligt specificerade villkor (WHERE), i en specificerad ordning (ORDER BY) och med ställ in begränsningar (SKIP, LIMIT) . Resultatuppsättningen som returneras av frågan bestäms med hjälp av uttrycket "RETURN". Uttrycket "WITH" är tillgängligt för att koppla ihop flera förfrågningar.

Det är möjligt att skapa multimodelldatabaser som kombinerar modeller för hierarkisk lagring av egenskaper i form av en graf, en relationsmodell och en modell för lagring av dokument i JSON-format. Det stöder exekvering av integrerade frågor som inkluderar element från SQL- och Cypher-språken.
Det är möjligt att skapa index för egenskaperna för hörn och kanter på grafen.
En utökad uppsättning Agtype-typer föreslås för användning, inklusive typer för kanter, hörn och banor i grafen. Aggregerade uttryck är ännu inte implementerade. Tillgängliga specialiserade funktioner inkluderar id, start_id, end_id, typ, egenskaper, head, last, length, size, startNode, endNode, timestamp, toBoolean, toFloat, toInteger och coalesce.

Källa: opennet.ru

Lägg en kommentar