Für PostgreSQL wurde die Erweiterung AGE zur Speicherung von Daten in Form eines Graphen vorbereitet.

Für PostgreSQL vorgeschlagen Erweiterung AGE (AgensGraph-Extension) mit der Implementierung der Abfragesprache openCypher für die Manipulation von Mengen von miteinander verbundenen hierarchischen Daten, die ein Diagramm bilden. Anstelle von Spalten und Zeilen verwenden graphorientierte DBs eine Struktur, die einem Netzwerk ähnelt – es werden Knoten, deren Eigenschaften und die Beziehungen zwischen den Knoten definiert. AGE wird verbreitet unter der Lizenz Apache 2.0, übergeben von der Firma Bitnine unter das Sponsoring der Apache-Stiftung und derzeit im Apache-Inkubator.

Das Projekt entwickelt das DBMS AgensGraph, das stellt eine überarbeitete Version von PostgreSQL zur Verarbeitung von Graphen darstellt. Ein wesentliches Unterscheidungsmerkmal ist die Implementierung von AGE in Form einer universellen Erweiterung, die als Ergänzung zu den Standardversionen von PostgreSQL arbeitet. Die kürzlich veröffentlichte Version Apache AGE 0.2.0 unterstützt die Arbeit mit PostgreSQL 11.

In seinem aktuellen Zustand bietet AGE unterstützt Funktionen der Abfragesprache Cypher wie die Verwendung des Ausdrucks „CREATE“ zur Definition von Knoten und Kanten, den Ausdruck „MATCH“ zur Abfrage von Daten in einem Graphen unter bestimmten Bedingungen (WHERE), in der angegebenen Reihenfolge (ORDER BY) und mit festgelegten Beschränkungen (SKIP, LIMIT). Das Rückgabeset der Abfrage wird durch den Ausdruck „RETURN“ definiert. Um mehrere Abfragen in einer Kette zu verbinden, steht der Ausdruck „WITH“ zur Verfügung.

Es ist möglich, multimodale DBs zu erstellen, die Modelle der hierarchischen Speicherung von Eigenschaften in Form von Graphen, das relationale Modell und das Modell zur Speicherung von Dokumenten im JSON-Format kombinieren. Die Ausführung von integrierten Abfragen, die Elemente der SQL- und Cypher-Sprachen beinhalten, wird unterstützt.
Die Erstellung von Indizes für die Eigenschaften der Knoten und Kanten des Graphen ist möglich.
Für die Nutzung wird ein erweitertes Set von Agtype-Typen angeboten, das Typen für Kanten, Knoten und Pfade im Graphen umfasst. Aggregatfunktionen sind derzeit noch nicht implementiert. Zu den verfügbaren spezialisierten Funktionen gehören: id, start_id, end_id, type, properties, head, last, length, size, startNode, endNode, timestamp, toBoolean, toFloat, toInteger und coalesce.

Quelle: opennet.ru

60GB SSD 8Gb DDR4