Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Migration von Neo4j zu Amazon Neptune
Neo4j und Amazon Neptune sind beide Graphdatenbanken, die für transaktionale Online-Graph-Workloads konzipiert wurden und das Labeled-Property-Graph-Datenmodell unterstützen. Aufgrund dieser Ähnlichkeiten ist Neptune eine beliebte Wahl für Kunden, die ihre aktuellen Neo4j-Anwendungen migrieren möchten. Bei diesen Migrationen handelt es sich jedoch nicht einfach um Lift-and-Shift-Lösungen, da es zwischen den beiden Datenbanken Unterschiede bei den Sprachen und der Feature-Unterstützung, den Betriebsmerkmalen, der Serverarchitektur und den Speicherkapazitäten gibt.
Auf dieser Seite wird der Migrationsprozess beschrieben und es werden Dinge aufgezeigt, die vor der Migration einer Neo4j-Graph-Anwendung zu Neptune zu beachten sind. Diese Überlegungen gelten generell für jede Neo4j-Graph-Anwendung, unabhängig davon, ob sie von einer Community-, Enterprise- oder Aura-Datenbank betrieben wird. Obwohl jede Lösung einzigartig ist und zusätzliche Verfahren erfordern kann, folgen alle Migrationen demselben allgemeinen Muster.
Jeder der in den folgenden Abschnitten beschriebenen Schritte beinhaltet Überlegungen und Empfehlungen zur Vereinfachung des Migrationsprozesses. Darüber hinaus gibt es Open-Source-Tools und Blog-Beiträge, in denen der Prozess beschrieben wird, sowie einen Abschnitt zur Feature-Kompatibilität mit empfohlenen Architekturoptionen.
Themen
- Allgemeine Informationen zur Migration von Neo4j zu Neptune
- Vorbereitung der Migration von Neo4j zu Neptune
- Bereitstellung der Infrastruktur bei der Migration von Neo4j zu Neptune
- Datenmigration von Neo4j zu Neptune
- Anwendungsmigration von Neo4j zu Neptune
- Neptune-Kompatibilität mit Neo4j
- Umschreiben von Cypher-Abfragen zur Ausführung in openCypher auf Neptune
- Ressourcen für die Migration von Neo4j zu Neptune
Allgemeine Informationen zur Migration von Neo4j zu Neptune
Mit der Unterstützung für die openCypher-Abfragesprache durch Neptune können Sie die meisten Neo4j-Workloads, die das Bolt-Protokoll oder HTTPS verwenden, zu Neptune verschieben. OpenCypher ist jedoch eine Open-Source-Spezifikation, die die meisten, aber nicht alle Funktionen enthält, die von anderen Datenbanken wie Neo4j unterstützt werden.
Obwohl Neptune in vielerlei Hinsicht kompatibel ist, stellt es keinen direkten Ersatz für Neo4j dar. Neptune ist ein vollständig verwalteter Graphdatenbank-Service mit Enterprise-Features wie hohe Verfügbarkeit und hohe Datenbeständigkeit, der sich architektonisch von Neo4j unterscheidet. Neptune ist Instance-basiert und verfügt über eine einzige primäre Writer-Instance und bis zu 15 Lesereplikat-Instances, mit denen Sie die Lesekapazität horizontal skalieren können. Mit Neptune Serverless können Sie Ihre Datenverarbeitungskapazität je nach Abfragevolumen automatisch nach oben oder unten skalieren. Dies ist unabhängig vom Neptune-Speicher, der automatisch skaliert wird, wenn Sie Daten hinzufügen.
Neptune unterstützt die Open-Source-Standardspezifikation OpenCypher, Version 9
Viele Anwendungen, die auf Neo4j laufen, verwenden jedoch auch proprietäre Features, die nicht als Open-Source-Funktionen verfügbar sind und die Neptune nicht unterstützt. Neptune unterstützt beispielsweise keine APOC-Prozeduren, einige Cypher-spezifische Klauseln und Funktionen sowie die Datentypen Char
, Date
oder Duration
. Neptune wandelt die fehlenden Datentypen automatisch in unterstützte Datentypen um.
Neben openCypher unterstützt Neptune auch die Apache-TinkerPop-Gremlin
openCypher | Gremlin | |
---|---|---|
Style |
Deklarativ |
Unerlässlich |
Syntax |
Mustervergleich
|
Transversal-basiert
|
Benutzerfreundlichkeit |
Von SQL-inspiriert, auch für Nicht-Programmierer lesbar |
Steilere Lernkurve, ähnlich wie bei Programmiersprachen wie Java |
Flexibilität |
Niedrig | Hoch |
Unterstützung für Abfragen |
Zeichenfolgenbasierte Abfragen |
Zeichenfolgenbasierte Abfragen oder Inline-Code, der von Client-Bibliotheken unterstützt wird |
Clients |
HTTPS und Bolt |
HTTPS und Websockets |
Im Allgemeinen ist es nicht erforderlich, Ihr Datenmodell zu ändern, um von Neo4j zu Neptune zu migrieren, da sowohl Neo4j als auch Neptune Labeled Property Graph (LPG)-Daten unterstützen. Neptune weist jedoch einige Architektur- und Datenmodellunterschiede auf, die Sie zur Leistungsoptimierung nutzen können. Beispiele:
Neptune-IDs werden bevorzugt behandelt.
Neptune verwendet AWS Identity and Access Management (IAM)-Richtlinien, um den Zugriff auf Ihre Graphdaten auf flexible und detaillierte Weise zu sichern.
Neptune bietet mehrere Möglichkeiten zur Verwendung von Jupyter-Notebooks, um Abfragen auszuführen und die Ergebnisse zu visualisieren. Neptune funktioniert auch mit Visualisierungs-Tools von Drittanbietern.
>Neptune hat zwar keinen direkten Ersatz für die Neo4j Graph Data Science (GDS)-Bibliothek, unterstützt aber Graphanalysen mit einer Vielzahl von Lösungen. In mehreren Beispiel-Notebooks
wird beispielsweise gezeigt, wie die Neptune-Integration mit dem AWS-Pandas-SDK in Python-Umgebungen genutzt werden kann, um Analysen von Graphdaten durchzuführen.
Bitte wenden Sie sich an den AWS Support oder an Ihr AWS-Account-Team, wenn Sie weitere Fragen haben. Wir nutzen Ihr Feedback, um neue Features zu priorisieren, die Ihren Anforderungen entsprechen.