AWS Neptune-Update: Machine Learning, Data Science und die Zukunft der Graphdatenbanken

0
148

George Anadiotis

Von George Anadiotis für Big on Data | 30. Juli 2021 — 12:00 GMT (13:00 BST) | Thema: Big Data Analytics

Datenmodelle und Abfragesprachen sind zugegebenermaßen etwas trockene Themen für Leute, die nicht zum inneren Kreis der Kenner gehören. Obwohl Diagrammdatenmodelle und Abfragesprachen keine Ausnahme von dieser Regel darstellen, haben wir aus einem Hauptgrund versucht, die Entwicklungen in diesem Bereich zu verfolgen.

Graph ist der am schnellsten wachsende Bereich im größten Segment der Unternehmenssoftware – Datenbanken. Ein typisches Beispiel: Eine Reihe kürzlich durchgeführter Finanzierungsrunden, die in der Finanzierungsrunde der Serie F in Höhe von 325 Millionen US-Dollar gipfelten, brachte die Bewertung auf über 2 Milliarden US-Dollar.

Neo4j gehört zu den Anbietern von Graphdatenbanken, die es am längsten gibt. und es ist jetzt auch das am besten finanzierte. Aber das bedeutet nicht, dass es die einzige ist, die es wert ist, im Auge zu behalten. AWS ist 2018 mit Neptune in den Markt für Graphdatenbanken eingetreten und hat seitdem viele Fortschritte gemacht.

AWS stellt heute die Unterstützung für openCypher vor, die Open-Source-Abfragesprache basierend auf Cypher von Neo4j. Wir nutzen die Gelegenheit, um aufzuzeigen, was dies bedeutet und wie es mit der Zukunft von Graphdatenbanken zusammenhängt, sowie interessante Entwicklungen in der Neptune-Unterstützung für maschinelles Lernen und Datenwissenschaft noch einmal Revue passieren zu lassen.

Brücken bauen mit openCypher

Entwickler können jetzt openCypher, eine beliebte Graph-Abfragesprache, mit Amazon Neptune verwenden, was mehr Auswahl beim Erstellen oder Migrieren von Graph-Anwendungen bietet. Neptune unterstützt jetzt die drei beliebtesten Graph-Abfragesprachen: Cypher, Gremlin und SPARQL.

Darüber hinaus wird Neptune Bolt, das binäre Protokoll von Neo4j, unterstützen. Dies deutet auf die Möglichkeit hin, Kunden die Nutzung vertrauter und vorhandener Werkzeuge zu ermöglichen – genauer gesagt die Werkzeuge von Neo4. Aber es gibt noch mehr Gründe, warum dies wichtig ist.

Es gibt zwei Hauptdatenmodelle, die zum Modellieren von Diagrammen verwendet werden: RDF und Labeled Property Graph (LPG). Neptune unterstützt beides, wobei SPARQL als Abfragesprache für RDF und Gremlin als Abfragesprache für LPG dient. Gremlin hat viel zu bieten, da es fast allgegenwärtige Unterstützung bietet und viel Kontrolle über Graph-Traversals bietet. Aber das kann auch ein Problem sein.

Gremlin, Teil des Apache Tinkerpop-Projekts, ist eine zwingende Abfragesprache. Dies bedeutet, dass Gremlin-Abfragen im Gegensatz zu deklarativen Abfragesprachen wie SQL, Cypher und SPARQL nicht nur ausdrücken, was abgerufen werden soll, sondern auch angeben müssen, wie. In dieser Hinsicht ist Gremlin eher eine Programmiersprache.

awsneptunearchitecture.png

Amazon Neptune-Architektur. Die Fähigkeiten von Neptune werden jetzt durch die Unterstützung von openCypher verbessert, was seinem Arsenal mehr Flexibilität verleiht.

AWS

Nicht alle Benutzer können Gremlin in allen Szenarien verwenden. Wollten sie jedoch das LPG-Modell nutzen, mussten sie sich nur daran orientieren. Amazon scheint dies anzuerkennen, obwohl es einige wichtige Mitwirkende an Apache Tinkerpop beschäftigt. Das Hinzufügen von Unterstützung für openCypher macht die Arbeit mit der LPG-Engine in Neptune einfacher.

Die Unterstützung von Neptune für LPG und RDF ist möglich, da es zwei verschiedene Engines unter seiner Haube beherbergt, eine für jedes Datenmodell. Daran ändert auch die Unterstützung für openCypher nichts – zumindest noch nicht. Aber RDF* könnte es sein. RDF*, auch bekannt als RDF Star, ist ein Update des RDF-Standards, mit dem auch LPG-Graphen modelliert werden können.

In diesem Bereich wird sowohl in RDF- als auch in LPG-Arbeitsgruppen laufend gearbeitet. Neben Amazon mit Neptune fügen auch andere RDF-Anbieter experimentelle Unterstützung für openCypher hinzu. Das Gesamtbild hier ist die von der ISO unterstützte laufende Arbeit an GQL.

GQL ist ein neuer Standard für Graphenabfragesprachen, der darauf abzielt, die heute fragmentierte Landschaft zu vereinheitlichen. Es wird erwartet, dass GQL für Graphdatenbanken das tut, was SQL für relationale Datenbanken getan hat. Amazon ist sowohl in den RDF*- als auch in den GQL-Bemühungen aktiv.

Dies sollte Neptune schließlich in die Lage versetzen, seine beiden derzeit unterschiedlichen Triebwerke zu vereinen. Aber die Geschichte hier ist größer als nur Amazon. Das Versprechen ist, dass alle Benutzer von Graphdatenbanken über ihre Systeme hinweg in der Lage sein werden, das zu tun, was Amazon unter der Haube tun kann: ein einziges Datenmodell und eine einzige Abfragesprache verwenden.

Daten Funktionen für Wissenschaft und maschinelles Lernen: Notebooks und neuronale Graphennetze

GQL hat noch einiges vor sich. Standardisierungsbemühungen sind immer kompliziert, und auch eine flächendeckende Einführung ist nicht garantiert. Neptune steht aber auch beispielhaft für eine andere wichtige Entwicklung bei Graphdatenbanken: die Integration von Data Science- und Machine Learning-Funktionen.

Die Entwicklung von Graphanwendungen und die Navigation in Graphergebnissen wird durch IDEs und visuelle Explorationstools, die auf diesen Zweck zugeschnitten sind, erheblich erleichtert. Während viele Anbieter von Graphdatenbanken integrierte Tools für diese Zwecke in ihre Angebote integriert haben, verließ sich Neptune bis vor kurzem ausschließlich auf Integrationen von Drittanbietern.

Das Team von Neptune entschied sich, diese Lücke zu schließen, indem es AWS Graph Notebook entwickelte. Notebooks sind bei Datenwissenschaftlern und Fachleuten für maschinelles Lernen sehr beliebt, da sie Code, Daten, Visualisierung und Dokumentation mischen und abgleichen und kollaborativ arbeiten können.

AWS Graph Notebook ist ein Open-Source-Python-Paket für Jupyter-Notebooks zur Unterstützung der Graphvisualisierung. Es unterstützt sowohl Gremlin als auch SPARQL, und wir erwarten, dass es irgendwann auch openCypher unterstützen wird. Während Amazon ursprünglich von den Massen der Datenwissenschaft und des maschinellen Lernens angenommen wurde, scheint Amazon zu glauben, dass Notebooks auch bei Entwicklern ankommen werden.

amazonneptuneml.jpg

Neptune ML ist der Codename, den Amazon der Integration zwischen seiner Neptune-Graphdatenbank und den maschinellen Lernfunktionen für Graphen in SageMaker und DGL gegeben hat.

AWS

Wir müssen abwarten, ob sich diese Wette auszahlt. Sicher ist jedoch, dass die Bereitstellung von Notebook-Support die Attraktivität von Neptune für Anwendungsfälle von Data Science und Machine Learning stärkt. Aber das ist noch nicht alles, was Neptune dort zu bieten hat – geben Sie Neptune ML ein.

Amazon wirbt für Neptune ML als eine Möglichkeit, einfache, schnelle und genaue Vorhersagen in Graphen mit Graph Neural Networks (GNNs) zu treffen. Neptune ML wird von Amazon SageMaker und der Open-Source-Deep Graph Library (DGL) unterstützt, zu der Amazon beiträgt.

GNNs ist ein relativ neuer Zweig von Deep Learning, mit der interessanten Funktion, dass sie die zusätzlichen kontextbezogenen . nutzen Informationen, die durch das Modellieren von Daten als Diagramm modelliert werden können, um Deep Learning-Algorithmen zu trainieren. GNNs gelten als Stand der Technik im Bereich des maschinellen Lernens und können im Vergleich zu herkömmlichen neuronalen Netzen eine höhere Genauigkeit bei der Vorhersage aufweisen.

Die Integration von GNNs in Graphdatenbanken ist eine natürliche Übereinstimmung. GNNs können für Vorhersagen auf Knoten- und Kantenebene verwendet werden, d. h. sie können zusätzliche Daten und Verbindungen in Graphen ableiten. Sie können verwendet werden, um Modelle zu trainieren, um Eigenschaften für Anwendungsfälle wie Betrugsvorhersage, Anzeigenausrichtung, Kunden-360, Empfehlungen, Identitätsauflösung und Vervollständigung von Wissensdiagrammen abzuleiten.

Auch hier ist Neptune nicht der einzige, der Notebooks und maschinelles Lernen in sein Angebot integriert. Diese Funktionen richten sich nicht nur an Data Science und Machine Learning, sondern können auch die Entwickler- und Endbenutzererfahrung verbessern. Bessere Tools, bessere Daten, bessere Analysen – sie alle führen zu besseren Endbenutzeranwendungen. Das streben alle Anbieter an.

lesen Sie dies

Alles, was Sie über KI wissen müssen

Alles, was Sie über KI wissen müssen

Ein Leitfaden für Führungskräfte zu künstlicher Intelligenz, von maschinellem Lernen und allgemeiner KI bis hin zu neuronalen Netzen.

Weiterlesen

Verwandte Themen:

Digitale Transformation Robotik Internet der Dinge Innovation Unternehmenssoftware CXO George Anadiotis

Von George Anadiotis für Big on Data | 30. Juli 2021 — 12:00 GMT (13:00 BST) | Thema: Big-Data-Analyse