Amazon Neptune Engine-Version 1.3.0.0 (15.11.2023) - Amazon Neptune

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.

Amazon Neptune Engine-Version 1.3.0.0 (15.11.2023)

Seit dem 15.11.2023 wird die Engine-Version 1.3.0.0 allgemein bereitgestellt. Bitte beachten Sie, dass es mehrere Tage dauert, bis eine neue Version in jeder Region verfügbar ist.

Anmerkung

Mit der Engine-Version 1.3.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.3.0.0 auf Engine-Version 1.3.0.0 oder höher aktualisieren, müssen Sie alle vorhandenen benutzerdefinierten Parametergruppen und benutzerdefinierten Cluster-Parametergruppen mithilfe der Parametergruppenfamilie neptune1.3 neu erstellen. In früheren Versionen wurde die Parametergruppenfamilie neptune1 oder neptune1.2 verwendet. Diese Parametergruppen funktionieren nicht mit Version 1.3.0.0 und höher. Weitere Informationen finden Sie unter Amazon-Neptune-Parametergruppen.

Neue Features in dieser Engine-Version

  • Die Neptune-Daten-API wurde veröffentlicht.

    Die Amazon-Neptune-Daten-API bietet SDK-Unterstützung für über 40 Datenoperationen in Neptune, darunter Laden von Daten, Ausführung von Abfragen, Datenabfragen und Machine Learning. Sie unterstützt die drei Neptune-Abfragesprachen (Gremlin, openCypher und SPARQL) und ist in allen SDK-Sprachen verfügbar. Sie signiert automatisch API-Anfragen und vereinfacht die Integration von Neptune in Anwendungen erheblich.

  • Unterstützung für die Integration von OpenSearchServerless mit Neptune wurde hinzugefügt.

Verbesserungen in dieser Engine-Version

Verbesserungen der Neptune-Engine-Updates

Neptune hat die Art und Weise geändert, wie Engine-Updates veröffentlicht werden, sodass Sie mehr Kontrolle über den Aktualisierungsprozess haben. Anstatt Patches für unwichtigere Änderungen zu veröffentlichen, veröffentlicht Neptune nun Nebenversionen, die über das AutoMinorVersionUpgrade-Instance-Feld gesteuert werden können und über die Sie Benachrichtigungen erhalten können, indem Sie das RDS-EVENT-0156-Ereignis abonnieren.

Weitere Informationen zu diesen Änderungen finden Sie unter Warten eines Amazon-Neptune-DB-Clusters.

Verbesserung der Verschlüsselung während der Übertragung

Neptune unterstützt die folgenden Cipher-Suites nicht mehr:

  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA

  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA

Neptune unterstützt nur die folgenden starken Cipher-Suites mit TLS 1.2:

  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384

  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384

  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256

Verbesserungen bei Gremlin
  • In der DFE-Engine wurde die Unterstützung für die folgenden Gremlin-Schritte hinzugefügt.

    • FoldStep

    • GroupStep

    • GroupCountStep

    • TraversalMapStep

    • UnfoldStep

    • LabelStep

    • PropertyKeyStep

    • PropertyValueStep

    • AndStep

    • OrStep

    • ConstantStep

    • CountGlobalStep

  • Optimierte Gremlin-DFE-Abfragepläne, um vollständige Vertex-Scans bei Verwendung der by()-Modulation zu vermeiden.

  • Deutlich verbesserte Leistung bei Abfragen mit niedriger Kardinalität und geringer Latenz.

  • DFE-Unterstützung für Filterprädikate hinzugefügt. TinkerPop Or

  • Verbesserte DFE-Unterstützung für die Traversierung von Filtern auf demselben Schlüssel bei Abfragen wie der folgenden:

    g.withSideEffect("Neptune#useDFE", true) .V() .has('name', 'marko') .and( or( has('name', eq("marko")), has('name', eq("vardas")) ) )
  • Die Fehlerbehandlung für den fail()-Schritt wurde verbessert.

Verbesserungen bei OpenCypher
  • Deutlich verbesserte Leistung bei Abfragen mit niedriger Kardinalität und geringer Latenz.

  • Verbesserte Leistung bei der Abfrageplanung, wenn die Abfrage viele Knotentypen enthält.

  • Reduzierte Latenz bei allen VLP-Abfragen.

  • Verbesserte Leistung durch das Entfernen redundanter Pipeline-Joins für Abfragen mit einfachen Knotenmustern.

  • Verbesserte Leistung für Abfragen, die Multi-Hop-Muster mit Zyklen enthalten, z. B.:

    MATCH (n)-->()-->()-->(m) RETURN n m
Verbesserungen bei SPARQL
  • Es wurde ein neuer SPARQL-Operator eingeführt: PipelineHashIndexJoin.

  • Verbesserte Leistung bei der URI-Validierung für SPARQL-Abfragen.

  • Verbesserte Leistung bei SPARQL-Volltext-Suchabfragen durch Batch-Auflösung von Wörterbuchbegriffen.

In diesem Engine-Version behobene Fehler

Korrekturen für Gremlin
  • Es wurde ein Gremlin-Fehler behoben, durch den es zu einem Transaktionsleck kam, wenn der Endpunkt des Gremlin-Abfragestatus auf Abfragen mit Prädikaten in untergeordneten Traversierungen für Schritte überprüft wurde, die nicht nativ in der DFE-Engine verarbeitet werden.

  • Es wurde ein Gremlin-Fehler behoben, bei dem valueMap() in der DFE-Engine bei by()-Traversierungen nicht optimiert wurde.

  • Es wurde ein Gremlin-Fehler behoben, durch den ein an UnionStep angefügtes Schritt-Label nicht an das letzte Pfadelement seiner untergeordneten Traversierungen weitergegeben wurde.

  • Es wurde ein Gremlin-Fehler behoben, bei dem eine Abfrage fehlschlug, weil sie zu viele TinkerPop Schritte enthielt, und dann nicht bereinigt wurde.

  • Es wurde ein Gremlin-Fehler behoben, bei dem in den Schritten mergeV und mergeE eine NullPointerException ausgelöst wurde.

  • Es wurde ein Gremlin-Fehler behoben, bei dem Zeichenkettenausgaben von order() nicht richtig sortiert wurden, wenn einige von ihnen ein Leerzeichen enthielten.

  • Es wurde ein Problem mit der Gremlin-Korrektheit behoben, das auftrat, wenn der valueMap-Schritt in der DFE-Engine verarbeitet wurde.

  • Es wurde ein Problem mit der Gremlin-Korrektheit behoben, das auftrat, wenn GroupStep oder GroupCountStep in einer Schlüsseltraversierung verschachtelt war.

OpenCypher-Korrekturen
  • Es wurde ein OpenCypher-Fehler behoben, der die Fehlerbehandlung bei NULL-Zeichen betraf.

  • Es wurde ein Fehler bei der Bolt-Transaktionsverarbeitung von openCypher behoben.

Fehlerkorrekturen für SPARQL
  • Es wurde ein SPARQL-Fehler behoben, bei dem Werte in rekursiven Funktionen nicht richtig aufgelöst wurden.

  • Es wurde ein SPARQL-Fehler behoben, der beim Einfügen von vielen Werten durch die VALUES-Klausel zu Leistungseinbußen führte.

  • Es wurde ein SPARQL-Fehler behoben, bei dem ein Aufruf des REGEX-Operators in einem Literal mit Sprachmarkierung nie erfolgreich war.

In dieser Version unterstützte Versionen in Abfragesprache

Bevor Sie einen DB-Cluster auf Version 1.3.0.0 aktualisieren, stellen Sie sicher, dass Ihr Projekt mit den folgenden Versionen von Abfragesprachen kompatibel ist:

  • Die älteste unterstützte Version von Gremlin: 3.6.2

  • Die neueste unterstützte Version von Gremlin: 3.6.4

  • openCypher-Version: Neptune-9.0.20190305-1.0

  • SPARQL-Version: 1.1

Upgrade-Pfade zum Engine-Release 1.3.0.0

Sie können von der Engine-Version 1.2.0.0 oder höher auf diese Version aktualisieren.

Upgrade auf diesen Release

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.3.0.0 \ --allow-major-version-upgrade \ --apply-immediately

Für Windows:

aws neptune modify-db-cluster ^ --db-cluster-identifier (your-neptune-cluster) ^ --engine-version 1.3.0.0 ^ --allow-major-version-upgrade ^ --apply-immediately

Statt --apply-immediately können Sie --no-apply-immediately angeben. Um ein Hauptversions-Upgrade durchzuführen, ist der allow-major-version-upgrade Parameter erforderlich. Stellen Sie außerdem sicher, dass Sie die Engine-Version angeben, da Ihre Engine sonst möglicherweise auf eine andere Version aktualisiert wird.

Wenn Ihr Cluster eine benutzerdefinierte Cluster-Parametergruppe verwendet, müssen Sie diesen Parameter einschließen, um ihn zu anzugeben:

--db-cluster-parameter-group-name (name of the custom DB cluster parameter group)

Ebenso sollte für Instances im Cluster, die eine benutzerdefinierte DB-Parametergruppe verwenden, dieser Parameter eingeschlossen werden, um ihn zu spezifizieren:

--db-instance-parameter-group-name (name of the custom instance parameter group)

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. Wenn Sie Fragen oder Bedenken haben, steht Ihnen das AWS Support-Team in den Community-Foren und über den AWS Premium-Support zur Verfügung.