Diagrammdatenbanken können Netzwerke von Entitäten darstellen, die auf der Grundlage verschiedener Beziehungen miteinander verbunden sind. Sie verwenden Knoten, Kanten und Eigenschaften, um Daten zu speichern, mit denen relationale Datenbanken nicht ausgestattet sind. Darüber hinaus halten die Knoten Datenentitäten und speichern die Kanten Beziehungen zwischen Entitäten.
Schnelle Einführung in Redisgraph
Mehrere Diagrammdatenbanken zur Auswahl aus den heutigen ADADAYS, und diese Anleitung konzentriert. Der Redisgraph ist als Modul für Redis gebaut, das einfach zu bedienen ist und extrem schnell ist. Um mit den Redisgraph -Datenbanken zu interagieren, wird die Cypher -Abfragesprache verwendet, die auch in einigen anderen Graph -Datenbanken verwendet wird.
Hinter den Kulissen - Redisgraph interne Technologie
RedisGraph verwendet spärliche Matrizen, um die Graphendaten intern darzustellen. Es nutzt auch die hochoptimierte Graphblas-Bibliothek, die eine Kombination aus hoher Leistung und sehr kompakter Speicherung ergibt. Um hervorzuheben, dass Redis einsthread ist, und so werden eingehende Anfragen auch für Redisgraph behandelt. Sobald eine Redisgraph -Abfrage die Redisgraph -Datenbank erreicht hat, wird sie an einen Thread -Pool weitergegeben. Da Redis -Module mehrere Threads verwalten können. Im Gegensatz zu anderen Diagrammdatenbanken konzentriert sich Redisgraph bei der Dienste von Abfragen mehr auf Szenarien mit hohem Durchsatz. Eine Diagrammabfrage zu einem bestimmten Zeitpunkt wird also normalerweise nur auf einem Thread ausgeführt. Es mag kontraintuitiv klingen, aber die Benchmarks beweisen, dass diese Skala perfekt ist.
Einrichten von Redisgraph
Mehrere Ansätze zur Einrichtung und Interaktion mit der Redisgraph -Datenbank, wie im Folgenden aufgeführt.
Verwenden des Redisgraph Docker -Bildes
Der schnellste Weg, eine Redisgraph -Datenbank zu verbessern und auszuführen. Der folgende Docker -Befehl wird verwendet, um eine Redis -Instanz mit RedisGraph aktiviert zu starten.
Docker Run -P 6379: 6379 -it - -RM Redislabs/Redisgraph
Sobald der Docker-Container abgelaufen ist, können Sie mit der Redisgraph-Datenbank mit redis-cli sprechen.
Aufbau der Quelle
Der Quellcode für den Redisgraph finden Sie im folgenden Repository.
https: // github.com/redisgraph/redisgraph.Git
Es kann leicht mit dem folgenden Git -Befehl geklont werden.
Git -Klon -Recurse -Submodules -j8 https: // github.com/redisgraph/redisgraph.Git
In Ubuntu oder OS X müssen Sie „CMake“ mit den folgenden Befehlen installieren.
Ubuntu:
APT-GET-Installation von Build-Escial Cmake M4 Automake Peg Libtool Autoconf
OS X:
Brew Install CMAKE M4 Automake PEG Libtool Autoconf
Da das „Make“ im System verfügbar ist. Beim Aufbau des Redisgraph -Quellcode Redisgraph.So Modul (Kompilierung binär) kann in der gefunden werden src Verzeichnis.
Es ist möglich, das RedISGraph -Modul mit dem Befehl modullast zur Laufzeit zu laden. Außerdem die LoadModule Die Richtlinie kann auf den Pfad des kompilierten Binärs im Redis eingestellt werden.Conf -Datei wie folgt.
Redis -Cloud mit aktiviertem Redisgraph -Modul
Eine der einfachsten Möglichkeiten, mit einem Redisgraph zu spielen. Sie können also eine Verbindung zur Cloud-Instanz mit Redis-Cli herstellen, ohne dass die Quelle die Quelle manuell in der lokalen Maschine baut und explizit geladen wird.
Konsumieren von Redisgraph -Datenbank - Redisgraph -Befehle
Sobald Sie mit der Einrichtung der Redisgraph -Datenbank fertig sind, ist es an der Zeit, die Datenbank zu konsumieren. Für Redis -Clients sind mehrere Befehle verfügbar, um mit der Redisgraph -Datenbank zu sprechen. Am wichtigsten ist, dass diese grundlegenden Befehle openCypher -Abfragen akzeptieren. Einige der häufig verwendeten fundamentalen Redisgraph -Befehle sind im Folgenden aufgeführt.
GRAPH.ANFRAGE - Führt eine OpenCypher -Abfrage gegen ein bestimmtes Diagramm aus, das seine Funktionalität mit zusätzlichen Funktionen und Klauseln verbessert.
GRAPH.Konfiguration Get | SATZ - Ruft oder aktualisiert den Wert eines Redisgraph -Konfigurationsparameters oder aktualisiert sie.
GRAPH.LÖSCHEN - Entfernt die Grafik und die zugehörigen Entitäten.
GRAPH.AUFFÜHREN - Alle Grafikschlüssel werden aufgelistet.
GRAPH.ERKLÄREN - Zeigt nur den Abfrageausführungsplan an und führt die OpenCypher -Abfrage nicht aus.
Weitere Details zu den obigen Befehlen finden Sie hier.
Anwendungsfall - Soziales Netzwerk mit Redisgraph -Datenbank
In diesem Beispiel werden wir eine Redis -Cloud -Instanz mit dem aktivierten Redisgraph -Modul verwenden. Der Redis-CLI wird verwendet, um eine Verbindung zur Redisgraph-Datenbank herzustellen, und Sie können überprüfen.
Modulliste
Wie erwartet die Graph Das Modul steht zur Verwendung zur Verfügung.
Erstellen einer Grafik
Erstellen wir zunächst eine Grafik, die aus einigen Einheiten und Beziehungen im Kontext sozialer Netzwerke besteht. Das folgende Format muss befolgt werden, um ein Diagramm mit OpenCypher -Abfragesprache zu erstellen.
(::)-[: ]-> (: )
Angenommen, John folgt Mary, Mary folgt Jack und Jack folgt Nisha in einem sozialen Netzwerk. Dies kann einfach mit einer Diagrammdatenbank wie Redisgraph dargestellt werden. Lassen Sie uns diese Entitäten und Beziehungen, die mit ihnen verbunden sind.
GRAPH.Query SocialNetwork "create (: person name: 'John')-[: folgt]-> (: person name: 'mary'), (: person name: 'mary')-[: folgt] -> (: Person Name: 'Jack'), (: Person Name: 'Jack')-[: folgt]-> (: Person name: 'nisha') ”
Jeder neue Eintrag wird durch ein Komma getrennt.
Bei der Ausführung der Grafik.Der Befehl query gibt einige nützliche Informationen zurück, die sich auf das erstellte Diagramm beziehen, z. B. die Anzahl der erstellten und festgelegten Knoten, Beziehungen und Eigenschaften.
Hinzufügen neuer Knoten
Es ist auch möglich, der zuvor erstellten Grafik neue Knoten hinzuzufügen. Fügen wir der vorhandenen Grafik wie folgt eine neue Person namens "Ricky Martin" hinzu.
GRAPH.Abfrage SocialNetwork "Create (: Person Name: 'Ricky Martin')"
Abfragen der Grafik
Wir können die Graphaten auch mithilfe von Diagramme abrufen.Anfragebefehl wie folgt.
GRAPH.Abfrage SocialNetwork "Übereinstimmung (p: Person)-[: folgt]-> (q: Person), wo q.name = 'Jack' return p, q "
Wie erwartet sollten die zweiten Beziehungsdetails gemäß der obigen Abfrage zurückgegeben werden. Weil die Abfrage nach der "fragt"folgt “ Beziehung, aber insbesondere der Anhänger sollte sein "Jack".
In diesen Beispielen haben wir den Redis-Cli-Client verwendet, um mit Redisgraph zu interagieren. Sie können jedoch mehrere andere Clientbibliotheken verwenden, die für verschiedene Sprachen wie Python entwickelt wurden, um die Redisgraph -Datenbanken abzufragen.
Abschluss
Zusammenfassend ist der RedISGraph eine Grafikdatenbank, die als Redis-Modul mit superschnellen Abfragemöglichkeiten verfügbar ist. Wie erläutert, gibt es verschiedene Möglichkeiten, wie Sie eine Redisgraph -Datenbank aufbauen und ausführen können, z. B. die Verwendung eines Docker -Bildes, das manuelle Erstellen des Quellcode.
Die Befehle und die API von Redisgraph können verwendet werden, um über Redis-Cli oder andere Redis-Clients mit der Datenbank zu sprechen. Als letztes Hinweis wird empfohlen, sich mit der OpenCypher -Abfragesprache vertraut zu machen, die von RedisGraph verwendet wird, um Grafiken, Knoten und Beziehungen zu erstellen, zu aktualisieren oder zu löschen.