Amazon Neptune Engine-Version 1.1.0.0 (19.11.2021) - 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.1.0.0 (19.11.2021)

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

Wichtig

Ein Upgrade von einer früheren Version auf diese Engine-Version löst 1.1.0.0 auch ein Betriebssystem-Upgrade auf allen Instances in Ihrem DB-Cluster aus. Da aktive Schreibanforderungen, die während des Betriebssystem-Upgrades auftreten, nicht verarbeitet werden, müssen Sie vor dem Start des Upgrades alle Schreib-Workloads für den Cluster, der aktualisiert wird, pausieren, einschließlich Massendatenladungen.

Um das Upgrade erfolgreich abzuschließen, muss für jedes Subnetz in jeder Availability Zone (AZ) mindestens eine IP-Adresse pro Neptune-Instance verfügbar sein. Wenn es beispielsweise eine Writer-Instance und zwei Reader-Instances in Subnetz 1 und zwei Reader-Instances in Subnetz 2 gibt, muss Subnetz 1 mindestens 3 freie IP-Adressen und Subnetz 2 mindestens 2 freie IP-Adressen haben, bevor das Upgrade gestartet wird.

Zu Beginn des Upgrades generiert Neptune einen Snapshot mit einem Namen, der sich aus preupgrade gefolgt von einer automatisch generierten Kennung zusammensetzt, die auf Ihren DB-Clusterinformationen basiert. Dieser Snapshot wird Ihnen nicht berechnet und Sie können ihn zur Wiederherstellung Ihres DB-Clusters verwenden, falls während des Upgrade-Vorgangs etwas schief geht.

Wenn das Engine-Upgrade selbst abgeschlossen ist, ist die neue Engine-Version kurzzeitig auf dem alten Betriebssystem verfügbar, aber in weniger als 5 Minuten beginnen alle Instances in Ihrem Cluster gleichzeitig mit einem Betriebssystem-Upgrade. Ihr DB-Cluster wird zu diesem Zeitpunkt für einige Minuten nicht verfügbar sein. Sie können die Schreib-Workloads fortsetzen, nachdem das Upgrade abgeschlossen ist.

Dieser Prozess generiert die folgenden Ereignisse:

  • Ereignismeldungen pro Cluster:

    • Upgrade in progress: Creating pre-upgrade snapshot [preupgrade-(autogenerated snapshot ID)]

    • Database cluster major version has been upgraded

  • Ereignismeldungen pro Instance:

    • Applying off-line patches to DB instance

    • DB instance shutdown

    • Finished applying off-line patches to DB instance

    • DB instance restarted

Anmerkung

Ab diesem Engine-Release unterstützt Neptune keine R4-Instance-Typen mehr. Wenn Sie eine R4-Instance in Ihrem DB-Cluster verwenden, müssen Sie sie vor dem Upgrade auf diese Version manuell durch einen anderen Instance-Typ ersetzen. Wenn es sich bei Ihrer Writer-Instance um eine R4 handelt, folgen Sie diesen Anweisungen, um sie zu verschieben.

Nachfolgende Patch-Releases für diesen Release

Neue Features in dieser Engine-Version

  • Einführung von universellen T4g und speicheroptimierten R6g Datenbank-Instances, die auf dem AWS Graviton2-Prozessor basieren. Graviton2-basierte Instances bieten ein deutlich besseres Preis-/Leistungsverhältnis als vergleichbare x86-basierte Instances der aktuellen Generation für eine Vielzahl von Workloads. Anwendungen funktionieren auf diesen neuen Instance-Typen wie gewohnt, und es ist nicht erforderlich, Anwendungscode zu portieren, wenn Sie auf sie aktualisieren.

    Weitere Informationen zu Preisen und regionaler Verfügbarkeit finden Sie auf der Amazon Neptune-Preisseite.

  • Einführung von benutzerdefinierten Modellen in Neptune ML.

  • Unterstützung von SPARQL-Inferenzabfragen in Neptune ML.

  • Es wurde ein neuer Streams-Endpunkt für Eigenschaftsgraphdaten hinzugefügt, und zwar:

    https://Neptune-DNS:8182/propertygraph/stream

    Das Ausgabeformat dieses Endpunkts, PG_JSON, entspricht exakt dem GREMLIN_JSON-Ausgabeformat des alten gremlin/stream.

    Der neue propertygraph/stream-Endpunkt erweitert die Neptune-Stream-Unterstützung auf openCypher und ersetzt den gremlin/stream-Endpunkt durch das zugehörige GREMLIN_JSON-Ausgabeformat.

Verbesserungen in dieser Engine-Version

  • Es wurden Verbesserungen an Neptun-Streams vorgenommen:

    • Dem records-Objekt wurde ein commitTimestamp-Feld hinzugefügt, das Neptune Streams-Änderungsprotokoll-Antwortformat verwendet, um einen Zeitstempel für jeden Datensatz in einem Änderungsprotokollstream bereitzustellen.

    • Dem iteratorType-Parameter wurde ein LATEST-Wert hinzugefügt, mit dem Sie die letzte gültige eventId der Streams abrufen können. Siehe Die Streams aufrufen API.

  • Unterstützung für das Abrufen des Inferenz-Konfidenzwerts in Gremlin-Knotenklassifizierungs- und Regressionsabfragen hinzugefügt.

  • Unterstützung für die OPTIONAL MATCH-Klausel in openCypher hinzugefügt.

  • Unterstützung für die MERGE-Klausel in openCypher hinzugefügt.

  • Unterstützung für die Verwendung von ORDER BY- und WITH-Klauseln in openCypher hinzugefügt.

  • Unterstützung für das Verständnis von Mustern in openCypher wurde hinzugefügt und die Unterstützung für Musterausdrücke wurde erweitert, die über die Existenzprüfung hinausgeht.

  • Erweiterte Unterstützung für die DELETE- und DELETE DETACH-Klauseln in openCypher, sodass sie jetzt mit anderen Update-Klauseln verwendet werden können.

  • Erweiterte Unterstützung für CREATE- und UPDATE-Klauseln, die mit RETURN in openCypher verwendet werden.

  • In der DFE-Engine wurde die Unterstützung für die Schritte Gremlin limit, range und skip hinzugefügt.

  • Die Abfrageausführung in der DFE-Engine wurde verbessert, wenn weder explain noch profile angefordert wird.

  • Die Abfrageausführung in der DFE-Engine für den value-Ausdruck wurde verbessert.

  • Eine Reihe verketteter bedingter Gremlin-Einfügemuster wurde verbessert, um Ausnahmen bei gleichzeitiger Änderung zu vermeiden und die Verkettung von Abfragemustern wie den folgenden zu ermöglichen:

    • Bedingtes Einfügen von Scheitelpunkten nach ID, z. B.:

      g.V(ID).fold().coalesce(unfold(), g.addV("L1").property(id,ID))
    • Bedingtes Einfügen von Scheitelpunkten mit mehreren Beschriftungen, z. B.:

      g.V(ID).fold().coalesce(unfold(), g.addV("L1::L2").property(id,ID))
    • Bedingtes Einfügen von Edges nach ID, z. B.:

      g.E(ID).fold().coalesce(unfold(), V(from).addE(label).to(V(to)).property(id, ID))
    • Bedingtes Einfügen von Edges mit mehreren Beschriftungen, z. B.:

      g.E(ID).fold().coalesce(unfold(), g.addE(label).from(V(from)).to(V(to)).property(id, ID))
    • Bedingtes Einfügen, gefolgt von einer Abfrage, wie zum Beispiel:

      g.V(ID).fold().coalesce(unfold(), g.addV("L1").property(id,ID)).project("myvalues").by(valueMap())
    • Bedingtes Einfügen mit zusätzlichen Eigenschaften wie:

      g.V(ID).fold().coalesce(unfold(), g.addV("L1").property(id,ID).property("name","pumba"))

In diesem Engine-Version behobene Fehler

  • Das Statistikfeature für T3.medium-Instance-Typen, die sie nicht unterstützen konnten, wurde deaktiviert.

  • Ein SPARQL-Fehler explain mit einem IN-Feature, die nicht konstante Werte annahm, wurde behoben.

In dieser Version unterstützte Versionen in Abfragesprache

Bevor Sie einen DB-Cluster auf Version 1.1.0.0 aktualisieren, stellen Sie sicher, dass Ihr Projekt mit den folgenden Versionen in Abfragesprache kompatibel ist:

  • Gremlin-Version: 3.4.11

  • SPARQL-Version: 1.1

Upgrade-Pfade zum Engine-Release 1.1.0.0

Sie können jeden vorherigen Neptune Engine-Release manuell auf diese Version aktualisieren.

Es wird kein automatisches Upgrade auf diese Version durchgeführt.

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.1.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.1.0.0 ^ --allow-major-version-upgrade ^ --apply-immediately

Statt --apply-immediately können Sie --no-apply-immediately angeben. Für die Durchführung eines Hauptversions-Upgrades 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. Bei Fragen oder Bedenken steht Ihnen das AWS Support-Team in den Community-Foren und über AWS Premium Support zur Verfügung.