Der er udarbejdet en AGE tilføjelse til PostgreSQL til at gemme data i form af en graf

Til PostgreSQL foreslog AGE (AgensGraph-Extension) tilføjelse med implementering af forespørgselssprog openCypher til at manipulere sæt af indbyrdes forbundne hierarkiske data, der danner en graf. I stedet for kolonner og rækker bruger graforienterede databaser en struktur, der ligner et netværk - noder, deres egenskaber og relationer mellem noder er specificeret. ALDER distribueret af licenseret under Apache 2.0-licensen, bragt i regi af Apache Foundation af Bitnine og i øjeblikket placeret i Apache Incubator.

Projektet fortsætter udviklingen af ​​DBMS AgentsGraphhvilken er er en modificeret PostgreSQL-modifikation til grafbehandling. Den vigtigste forskel er implementeringen af ​​AGE i form af en universel tilføjelse, der fungerer som en tilføjelse over standard PostgreSQL-udgivelser. Udgave offentliggjort for nylig Apache ALDER 0.2.0 understøtter PostgreSQL 11.

I nuværende tilstand AGE bakker op sådanne funktioner i Cypher-forespørgselssproget som at bruge "CREATE"-udtrykket til at definere noder og links, "MATCH"-udtrykket til at søge efter data i en graf i henhold til specificerede betingelser (WHERE), i en specificeret rækkefølge (ORDER BY) og med sæt begrænsninger (SKIP, LIMIT) . Resultatsættet, der returneres af forespørgslen, bestemmes ved hjælp af udtrykket "RETURN". "WITH"-udtrykket er tilgængeligt til at kæde flere anmodninger sammen.

Det er muligt at lave multi-model databaser, der kombinerer modeller til hierarkisk lagring af egenskaber i form af en graf, en relationel model og en model til lagring af dokumenter i JSON format. Det understøtter udførelse af integrerede forespørgsler, der inkluderer elementer fra SQL- og Cypher-sprogene.
Det er muligt at oprette indekser for egenskaberne for toppunkter og kanter på grafen.
Et udvidet sæt Agtype-typer foreslås til brug, herunder typer for kanter, spidser og stier i grafen. Samlede udtryk er endnu ikke implementeret. Tilgængelige specialiserede funktioner inkluderer id, start_id, end_id, type, egenskaber, head, last, length, size, startNode, endNode, timestamp, toBoolean, toFloat, toInteger og coalesce.

Kilde: opennet.ru

Tilføj en kommentar