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.
Ab dem 08.03.2023 wird die Engine-Version 1.2.1.0 allgemein bereitgestellt. Bitte beachten Sie, dass es mehrere Tage dauert, bis eine neue Version in jeder Region verfügbar ist.
Anmerkung
Bei einem Upgrade von einer Engine-Version vor 1.2.0.0:
-
Mit der Engine-Version 1.2.0.0 wurde ein neues Format für benutzerdefinierte Parametergruppen und benutzerdefinierte Cluster-Parametergruppen eingeführt. Wenn Sie also von einer Engine-Version vor 1.2.0.0 auf Engine-Version 1.2.0.0 oder höher aktualisieren, müssen Sie alle vorhandenen benutzerdefinierten Parametergruppen und benutzerdefinierten Cluster-Parametergruppen mithilfe der Parametergruppenfamilie
neptune1.2
neu erstellen. In früheren Versionen wurde die Parametergruppenfamilieneptune1
verwendet und diese Parametergruppen funktionieren nicht mit Version 1.2.0.0 und höher. Weitere Informationen finden Sie unter Amazon-Neptune-Parametergruppen. -
Mit der Engine-Version 1.2.0.0 wurde auch ein neues Format für Undo-Protokolle eingeführt. Daher müssen alle Undo-Protokolle, die von einer früheren Engine-Version erstellt wurden, gelöscht werden und die CloudWatch-Metrik UndoLogsListSize muss auf Null fallen, bevor ein Upgrade von einer Version vor 1.2.0.0 gestartet werden kann. Wenn beim Versuch, ein Update zu starten, zu viele Undo-Protokolldatensätze (200.000 oder mehr) vorhanden sind, kann es beim Upgrade-Versuch zu einer Zeitüberschreitung kommen, während auf den Abschluss des Löschvorgangs der Undo-Protokolle gewartet wird.
Sie können die Löschgeschwindigkeit beschleunigen, indem Sie die Writer-Instance des Clusters aktualisieren, in der das Löschen stattfindet. Wenn Sie dies tun, bevor Sie versuchen, das Upgrade durchzuführen, kann die Anzahl der Undo-Logs vor dem Start reduziert werden. Wenn Sie die Größe des Writers auf einen 24XL-Instance-Typ erhöhen, kann sich Ihre Löschrate auf mehr als eine Million Datensätze pro Stunde erhöhen.
Wenn die
UndoLogsListSize
-CloudWatch-Metrik extrem umfangreich ist, kann Ihnen die Eröffnung eines Support-Falls dabei helfen, zusätzliche Strategien zu finden, um sie zu reduzieren. -
Schließlich wurde mit Version 1.2.0.0 eine bahnbrechende Änderung eingeführt, die sich auf früheren Code auswirkt, der das Bolt-Protokoll mit IAM-Authentifizierung verwendete. Ab Version 1.2.0.0 benötigt Bolt einen Ressourcenpfad für die IAM-Signatur. In Java könnte das Festlegen des Ressourcenpfads so aussehen:
request.setResourcePath("/openCypher"));
. In anderen Sprachen kann/openCypher
an den Endpunkt-URI angehängt werden. Beispiele finden Sie unter Verwenden des Bolt-Protokolls.
Nachfolgende Patch-Veröffentlichungen für dieses Version
Neue Features in dieser Engine-Version
-
Unterstützung für TinkerPop 3.6.2
hinzugefügt, was viele neue Gremlin-Features wie die neuen Schritte mergeV()
,mergeE()
,element()
undfail()
hinzufügt. Die SchrittemergeV()
undmergeE()
sind von besonderer Bedeutung, da sie eine lang erwartete deklarative Option für die Ausführung von upsert-ähnlichen Operationen bieten, was bestehende Codemuster erheblich vereinfachen und Gremlin lesbarer machen sollte. In der Version 3.6.x wurden außerdem Regex-Prädikate, eine neue Überladung desproperty()
-Schrittes, die eineMap
annimmt, und eine umfassende Überarbeitung desby()
-Modulationsverhaltens hinzugefügt, das in allen Schritten, die es verwenden, viel konsistenter ist.Informationen zu den Änderungen in Version 3.6 und zu den Dingen, die bei der Aktualisierung zu beachten sind, finden Sie im TinkerPop-Änderungsprotokoll
und auf der Upgrade-Seite . Wenn Sie
fold().coalesce(unfold(), <mutate>)
für bedingte Einfügungen arbeiten, empfehlen wir Ihnen, auf die neuemergeV/E()
Syntax zu migrieren, die hierund hier beschrieben wird. Neptune verwendet ein engeres Sperrmuster für Merge
als fürCoalesce
, wodurch Concurrent Modification Exceptions (CMEs) reduziert werden können.Weitere Informationen zu den neuen Features, die in dieser TinkerPop-Version verfügbar sind, finden Sie in Stephen Mallettes Blog Erkunden neuer Features von Apache TinkerPop 3.6.x in Amazon Neptune
. Es wurde Unterstützung für R6i-Instance-Typen
hinzugefügt, die auf skalierbaren Intel-Xeon-Prozessoren der 3. Generation basieren. Diese eignen sich ideal für speicherintensive Workloads und bieten eine um bis zu 15 % bessere Rechenleistung und ein bis zu 20 % höheres Preis-Leistungs-Verhältnis und eine bis zu 20 % höhere Speicherbandbreite pro vCPU als vergleichbare R5-Instance-Typen. -
API-Endpunkte für Graphzusammenfassungen wurden sowohl für Eigenschaftsgraphen als auch für RDF-Graphen hinzugefügt, sodass Sie schnell einen zusammenfassenden Bericht über Ihren Graphen erhalten können.
Bei Eigenschaftsgraphen (PG-Graphen) bietet die Graphübersichts-API eine schreibgeschützte Liste von Knoten- und Edgebezeichnungen und Eigenschaftsschlüsseln sowie die Anzahl der Knoten, Edges und Eigenschaften. Für RDF-Graphenbietet sie eine Liste von Klassen und Prädikatschlüsseln sowie die Anzahl der Quadrate, Subjekte und Prädikate.
Die folgenden Änderungen gingen mit der neuen API für die Zusammenfassung von Graphen einher:
Es wurde eine neue GetGraphSummary-Datenebenenaktion hinzugefügt.
Es wurde ein neuer
rdf/statistics
-Endpunkt hinzugefügt, der densparql/statistics
-Endpunkt ersetzt, der jetzt veraltet ist.Der Name des
summary
-Felds in der Statistikstatusantwort wurde zusignatureInfo
geändert, um es nicht mit den zusammenfassenden Informationen des Graphen zu verwechseln. Frühere Engine-Versionen werden weiterhinsummary
in der JSON-Antwort verwenden.Die Genauigkeit des
date
-Felds in der Statistikstatusantwort wurde von Minute auf Millisekunde geändert. Das vorherige Format lautete2020-05-07T23:13Z
(Minutengenauigkeit), das neue Format ist2023-01-24T00:47:43.319Z
(Millisekundengenauigkeit). Beide sind ISO 8601-konform, aber diese Änderung kann den vorhandenen Code beschädigen, je nachdem, wie das Datum analysiert wird.In der Workbench wurde ein neuer %statistics-Line Magic hinzugefügt, mit dem Sie Statistiken der DFE-Engine abrufen können.
In der Workbench wurde ein neuer %summary-Line Magic hinzugefügt, mit dem Sie Informationen zur Graphzusammenfassung abrufen können.
Es wurde eine Protokollierung für langsame Abfragen hinzugefügt, um Abfragen zu protokollieren, deren Ausführung länger dauert als ein bestimmter Schwellenwert. Sie aktivieren und steuern die Protokollierung langsamer Abfragen mithilfe der beiden neuen dynamischen Parameter neptune_enable_slow_query_log und neptune_slow_query_log_threshold.
Unterstützung für zwei dynamische Parameter wurde hinzugefügt, nämlich die neuen Cluster-Parameter neptune_enable_slow_query_log und neptune_slow_query_log_threshold. Wenn Sie einen dynamischen Parameter ändern, wird dieser Schritt sofort wirksam, ohne dass ein Neustart der Instance erforderlich ist.
Es wurde eine Neptun-spezifische openCypher-Funktion removeKeyFromMap() hinzugefügt, die einen bestimmten Schlüssel aus einer Map entfernt und die resultierende neue Map zurückgibt.
Verbesserungen in dieser Engine-Version
Die Unterstützung von Gremlin DFE wurde auf
limit
-Schritte mit lokalem Geltungsbereich erweitert.by()
-Modulationsunterstützung fürDedupGlobalStep
für die Gremlin DFE-Engine hinzugefügt.DFE-Unterstützung für Gremlin
SelectStep
undSelectOneStep
hinzugefügt.Leistungsverbesserungen und Korrekturkorrekturen für verschiedene Gremlin-Operatoren, darunter
repeat
,coalesce
,store
undaggregate
.Verbesserte Leistung von openCypher-Abfragen mit
MERGE
undOPTIONAL MATCH
.Verbesserte Leistung von openCypher-Abfragen, die eine Liste
UNWIND
von Zuordnungen mit Literalwerten beinhalten.-
Verbesserte Leistung von openCypher-Abfragen, die einen
IN
-Filter fürid
haben. Beispiel:MATCH (n) WHERE id(n) IN ['1', '2', '3'] RETURN n
Es wurde die Möglichkeit hinzugefügt, den Basis-IRI für SPARQL-Abfragen mithilfe der BASE-Anweisung anzugeben (siehe Standard-Basis-IRI für Abfragen und Updates).
Die Wartezeit bei der Ladeverarbeitung für Gremlin- und openCypher-Only-Edge-Massenladungen wurde verkürzt.
Massenladungen wurden asynchron fortgesetzt, wenn Neptune neu gestartet wird, um lange Wartezeiten aufgrund von Amazon S3-Verbindungsproblemen zu vermeiden, bevor Wiederaufnahmeversuche fehlschlagen.
Verbesserte Handhabung von SPARQL DESCRIBE-Abfragen, bei denen der DescribeMode-Abfragehinweis auf
"CBD"
(kurze, begrenzte Beschreibung) gesetzt ist und die eine große Anzahl leerer Knoten beinhalten.
In diesem Engine-Version behobene Fehler
Es wurde ein openCypher-Fehler behoben, bei dem Abfragen die Zeichenfolge,
"null"
, anstelle eines Nullwerts in Bolt und SPARQL-JSON zurückgaben.Es wurde ein openCypher-Fehler im Listenverständnis behoben, der anstelle der für die Listenelemente angegebenen Werte einen Nullwert erzeugte.
Es wurde ein openCypher-Fehler behoben, bei dem Bytewerte nicht korrekt serialisiert wurden.
Es wurde ein Gremlin-Fehler in
UnionStep
behoben, der auftrat, wenn es sich bei der Eingabe um eine Edge handelte, die zu einem Scheitelpunkt innerhalb eines untergeordneten Traversalen führte.Es wurde ein Gremlin-Fehler behoben, der dazu führte, dass ein Schritt-Label, das mit einem Schritt verknüpft war, nicht korrekt auf den letzten Schritt jeder untergeordneten Traversale übertragen wurde.
Es wurde ein Gremlin-Fehler für den
dedup
-Schritt behoben, bei dem Labels auf einen Schritt folgten, bei dem die an denrepeat
-Schritt angehängten Beschriftungen nicht für die weitere Verwendung indedup
-Abfragen verfügbar waren.Es wurde ein Gremlin-Fehler behoben, bei dem die Übersetzung des
repeat
-Schritts innerhalb einesunion
-Schritts aufgrund eines internen Fehlers fehlschlug.-
Behebung von Gremlin-Korrektheitsproblemen bei DFE-Abfragen mit
limit
als untergeordneter Traversal von Nicht-Union-Schritten durch Rückgriff auf Tinkerpop. Abfragen in einem Formular wie diesem sind betroffen:g.withSideEffect('Neptune#useDFE', true).V().as("a").select("a").by(out().limit(1))
Es wurde ein SPARQL-Fehler behoben, bei dem
SPARQL GRAPH
-Muster den durch eineFROM NAMED
-Klausel bereitgestellten Datensatz nicht berücksichtigten.Es wurde ein SPARQL-Fehler behoben, bei dem SPARQL
DESCRIBE
mit einigenFROM
- und/oderFROM NAMED
-Klauseln Daten aus dem Standardgraphen nicht immer korrekt verwendete und manchmal eine Ausnahme auslöste. Siehe Verhalten von SPARQL DESCRIBE in Bezug auf das Standarddiagramm.Es wurde ein SPARQL-Fehler behoben, sodass die richtige Ausnahmemeldung zurückgegeben wurde, wenn Nullzeichen zurückgewiesen wurden.
Es wurde ein SPARQL-Erklärungsfehler behoben, der Pläne betraf, die einen PipelinedHashIndexJoin-Operator enthielten.
Es wurde ein Fehler behoben, der dazu führte, dass ein interner Fehler ausgelöst wurde, wenn eine Abfrage, die einen konstanten Wert zurückgibt, gesendet wurde.
Es wurde ein Problem mit der Deadlock-Detektorlogik behoben, das gelegentlich dazu führte, dass die Engine nicht reagierte.
In dieser Version unterstützte Versionen in Abfragesprache
Bevor Sie einen DB-Cluster auf Version 1.2.1.0 aktualisieren, stellen Sie sicher, dass Ihr Projekt mit den folgenden Versionen in Abfragesprache kompatibel ist:
Die älteste unterstützte Version von Gremlin:
3.6.2
Die neueste unterstützte Version von Gremlin:
3.6.2
openCypher-Version:
Neptune-9.0.20190305-1.1
SPARQL-Version:
1.1
Upgrade-Pfade zum Engine-Release 1.2.1.0
Sie können ein manuelles Upgrade auf diese Version von jedem früheren Neptune-Engine-Release ab 1.1.0.0 durchführen.
Anmerkung
Ab Engine-Version 1.2.0.0 1.2.0.0
müssen alle benutzerdefinierten Parametergruppen und benutzerdefinierten Cluster-Parametergruppen, die Sie mit früheren Engine-Versionen verwendet haben, jetzt mithilfe der Parametergruppenfamilie neptune1.2
neu erstellt werden. In früheren Versionen wurde die Parametergruppenfamilie neptune1
verwendet, und diese Parametergruppen funktionieren ab Version 1.2.0.0
nicht mehr. Weitere Informationen finden Sie unter Amazon-Neptune-Parametergruppen.
Es wird kein automatisches Upgrade auf diesen großen Versions-Release durchgeführt.
Upgrade auf diesen Release
Amazon Neptune 1.2.1.0 ist jetzt allgemein verfügbar.
Wenn auf einem DB-Cluster eine Engine-Version ausgeführt wird, für die es einen Upgrade-Pfad zu dieser Version gibt, kann sie jetzt aktualisiert werden. Sie können jeden geeigneten Cluster mithilfe der DB-Cluster-Operationen auf der Konsole oder mithilfe des SDK aktualisieren. Mit dem folgenden CLI-Befehl wird ein geeignetes Cluster sofort aktualisiert:
Für Linux, OS X oder Unix:
aws neptune modify-db-cluster \ --db-cluster-identifier
(your-neptune-cluster)
\ --engine-version 1.2.1.0 \ --apply-immediately
Für Windows:
aws neptune modify-db-cluster ^ --db-cluster-identifier
(your-neptune-cluster)
^ --engine-version 1.2.1.0 ^ --apply-immediately
Updates werden auf alle Instances in einem DB-Cluster gleichzeitig angewendet. Ein Update erfordert einen Datenbankneustart auf diesen Instances. Daher kommt es zu einer Ausfallzeit von 20–30 Sekunden bis zu mehreren Minuten. Anschließend können Sie die Nutzung Ihres DB-Clusters fortsetzen.
Testen Sie immer vor dem Upgrade
Wenn eine neue Haupt- oder Nebenversion der Neptune-Engine veröffentlicht wird, testen Sie Ihre Neptune-Anwendungen immer zuerst dafür, bevor Sie sie dazu aktualisieren. Selbst ein Nebenversions-Upgrade könnte neue Features oder Verhaltensweisen einführen, die sich auf Ihren Code auswirken können.
Vergleichen Sie zunächst die Seiten mit den Versionshinweisen Ihrer aktuellen Version mit denen der Zielversion, um festzustellen, ob es Änderungen an den Versionen der Abfragesprache oder andere wichtige Änderungen geben wird.
Die beste Methode, eine neue Version zu testen, bevor Sie Ihren Produktions-DB-Cluster aktualisieren, besteht darin, den Produktions-Cluster zu klonen, so dass auf dem Klon die neue Engine-Version ausgeführt wird. Sie können dann Abfragen auf dem Klon ausführen, ohne dass der Produktions-DB-Cluster davon betroffen wird.
Erstellen Sie vor einem Upgrade immer einen manuellen Snapshot
Bevor Sie ein Upgrade durchführen, wird dringend empfohlen, immer einen manuellen Snapshot Ihres DB-Clusters zu erstellen. Ein automatischer Snapshot bietet nur kurzfristigen Schutz, wohingegen ein manueller Snapshot verfügbar bleibt, bis Sie ihn explizit löschen.
In bestimmten Fällen erstellt Neptune im Rahmen des Upgrade-Prozesses einen manuellen Snapshot für Sie, aber Sie sollten sich nicht darauf verlassen und in jedem Fall Ihren eigenen manuellen Snapshot erstellen.
Wenn Sie sicher sind, dass Sie Ihren DB-Cluster nicht auf den Zustand vor dem Upgrade zurücksetzen müssen, können Sie den manuellen Snapshot, den Sie selbst erstellt haben, sowie den manuellen Snapshot, den Neptune möglicherweise erstellt hat, explizit löschen. Wenn Neptune einen manuellen Snapshot erstellt, hat dieser einen Namen, der mit preupgrade
beginnt, gefolgt vom Namen Ihres DB-Clusters, der Quell-Engine-Version, der Ziel-Engine-Version und dem Datum.
Anmerkung
Wenn Sie versuchen, ein Upgrade durchzuführen, während eine ausstehende Aktion ausgeführt wird, kann ein Fehler wie der folgende auftreten:
We're sorry, your request to modify DB cluster (cluster identifier) has failed. Cannot modify engine version because instance (instance identifier) is running on an old configuration. Apply any pending maintenance actions on the instance before proceeding with the upgrade.
Wenn dieser Fehler auftritt, warten Sie, bis die ausstehende Aktion abgeschlossen ist, oder starten Sie sofort ein Wartungsfenster, damit das vorherige Upgrade abgeschlossen werden kann.
Weitere Informationen zum Upgraden Ihrer Engine-Version finden Sie unter Warten eines Amazon-Neptune-DB-Clusters. Bei Fragen oder Bedenken steht Ihnen das AWS Support-Team in den Community-Foren und über AWS Premium Support