Amazon Neptune エンジンバージョン 1.1.0.0 (2021-11-19) - Amazon Neptune

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon Neptune エンジンバージョン 1.1.0.0 (2021-11-19)

2021 年 11 月 19 日現在、エンジンバージョン 1.1.0.0 は一般にご利用いただけます。新しいリリースがすべてのリージョンで利用可能になるまでに数日かかります。

重要

1.1.0.0 より前のバージョンからこのエンジンリリースにアップグレードすると、DB クラスター内のすべてのインスタンスでオペレーティングシステムのアップグレードもトリガーされます。オペレーティングシステムのアップグレード中に発生するアクティブな書き込み要求は処理されないため、アップグレードを開始する前に、一括データロードを含め、アップグレード中のクラスターへのすべての書き込みワークロードを一時停止する必要があります。

アップグレードを正常に完了するには、すべてのアベイラビリティーゾーン (AZ) の各サブネットに、Neptune インスタンスごとに利用可能な IP アドレスが少なくとも 1 つ必要です。例えば、サブネット 1 に 1 つのライターインスタンスと 2 つのリーダーインスタンスがあり、サブネット 2 に 2 つのリーダーインスタンスがある場合、アップグレードを開始する前に、サブネット 1 には少なくとも 3 つの IP アドレスの空きがあり、サブネット 2 には少なくとも 2 つの IP アドレスが空いている必要があります。

アップグレードの開始時に、Neptune は preupgrade に DB クラスターの情報に基づいて自動生成された識別子が続く名前のスナップショットを生成します。このスナップショットには課金はされません。アップグレードプロセス中に問題が発生した場合は、DB クラスターを復元するために使用できます。

エンジンのアップグレード自体が完了すると、古いオペレーティングシステムで新しいエンジンバージョンが一時的に利用可能になりますが、5 分以内にクラスター内のすべてのインスタンスが同時にオペレーティングシステムのアップグレードを開始します。DB クラスターは、この時点で数分間使用できなくなります。アップグレードの完了後に、書き込みワークロードを再開できます。

このプロセスでは、次のイベントが生成されます。

  • クラスターごとのイベントメッセージ。

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

    • Database cluster major version has been upgraded

  • インスタンスごとのイベントメッセージ。

    • Applying off-line patches to DB instance

    • DB instance shutdown

    • Finished applying off-line patches to DB instance

    • DB instance restarted

注記

このエンジンリリース以降、Neptune はR4 インスタンスタイプをサポートしなくなりました。DB クラスター内の R4 インスタンスを使用している場合は、このリリースにアップグレードする前に、手動で別のインスタンスタイプに置き換える必要があります。ライターインスタンスが R4 の場合は、次の手順に従って移動してください。

このリリースの後続のパッチリリース

このエンジンリリースの新機能

  • AWS Graviton2 プロセッサにより稼働する汎用 T4g およびメモリ最適化 R6g データベースインスタンスを導入しました。Graviton2 ベースのインスタンスは、さまざまなワークロードに対して、同等の現行世代の x86 ベースのインスタンスよりも大幅に優れた価格/パフォーマンスを提供します。アプリケーションは、これらの新しいインスタンスタイプでは通常どおりに動作し、アップグレードするときにポートアプリケーションコードを移植する必要はありません。

    料金および使用可能なリージョンに関する詳細については、Amazon Neptune 料金表ページを参照してください。

  • Neptune ML にカスタムモデルが導入されました。

  • Neptune ML に SPARQL 推論クエリのサポートが追加されました。

  • プロパティグラフデータ用に新しいストリームエンドポイントを追加しました。次のようになります。

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

    このエンドポイントの出力形式、つまり、PG_JSON は、古い gremlin/stream によって出力される GREMLIN_JSON フォーマットとまったく同じ動作をします。

    新しい propertygraph/stream エンドポイントは、Neptune ストリームのサポートを openCypher に拡張し、gremlin/stream を、関連付けられたエンドポイント GREMLIN_JSON 出力形式に取り替えます。

このエンジンリリースの改良点

  • Neptune ストリームを改善しました。

    • 変更ログストリーム内の各レコードのタイムスタンプを提供するために、commitTimestamp フィールドを records オブジェクト Neptune ストリーム変更ログ応答形式に追加しました。

    • ストリームから最後に有効な eventId を取得できるように、LATEST 値を iteratorType パラメータに追加しました。「ストリームの呼び出し API」を参照してください。

  • Gremlin ノード分類および回帰クエリでの推論信頼スコア取得のサポートが追加されました。

  • openCypher の OPTIONAL MATCH 句用のサポートを追加しました。

  • openCypher の MERGE 句用のサポートを追加しました。

  • openCypher の WITH 句の ORDER BY 使用のサポートを追加しました。

  • openCypher でのパターン理解のサポートが追加され、存在チェックを超えるパターン表現のサポートが拡張されました。

  • openCypher で DELETE および DELETE DETACH のサポートを拡張しました。これにより他の更新句と併用できるようになりました。

  • openCypherで RETURN とともに使用される CREATE および UPDATE のサポートを拡張しました。

  • Gremlin limitrange および skip ステップの DFE エンジンでのサポートを追加しました。

  • explainprofile のいずれもリクエストされていない場合の DFE エンジンでのクエリ実行が改善されました。

  • value 表現に対するDFE エンジンでのクエリ実行を改善しました。

  • 同時変更例外を回避し、次のようなクエリパターンの連鎖を可能にするために、多数の連鎖 Gremlin 条件付き挿入パターンを改善しました。

    • ID による条件付き頂点の挿入 (例)

      g.V(ID).fold().coalesce(unfold(), g.addV("L1").property(id,ID))
    • 次のような複数のラベルを使用した条件付き頂点の挿入

      g.V(ID).fold().coalesce(unfold(), g.addV("L1::L2").property(id,ID))
    • ID による条件付きエッジの挿入 (例)

      g.E(ID).fold().coalesce(unfold(), V(from).addE(label).to(V(to)).property(id, ID))
    • 次のような複数のラベルを使用した条件付きエッジの挿入

      g.E(ID).fold().coalesce(unfold(), g.addE(label).from(V(from)).to(V(to)).property(id, ID))
    • クエリが続く条件付き挿入 (例)

      g.V(ID).fold().coalesce(unfold(), g.addV("L1").property(id,ID)).project("myvalues").by(valueMap())
    • プロパティを追加した条件付き挿入 (例)

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

このエンジンリリースで修正された不具合

  • サポートできなかった T3.medium インスタンスタイプの統計機能を無効にしました。

  • 非定数値を取った IN 関数を持つ explain にある SPARQL のバグを修正しました。

このリリースでサポートされるクエリ言語バージョン

DB クラスターをバージョン 1.1.0.0 にアップグレードする前に、プロジェクトが次のクエリ言語バージョンと互換性があることを確認してください。

  • Gremlin バージョン: 3.4.11

  • SPARQL バージョン: 1.1

エンジンリリース 1.1.0.0 へのアップグレードパス

以前の Neptune エンジンリリースを、このリリースに手動でアップグレードできます。

このリリースに自動的にアップグレードされることはありません。

このリリースへのアップグレード

DB クラスターで、このリリースへのアップグレードパスがあるエンジンバージョンを実行している場合は、今すぐアップグレードできます。対象となるクラスターをアップグレードするには、コンソールの DB クラスターオペレーションまたは SDK を使用します。次の CLI コマンドは、適格なクラスターをただちにアップグレードします。

Linux、OS X、Unix の場合:

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

Windows の場合:

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

--apply-immediately の代わりに --no-apply-immediately と指定することができます。メジャーバージョンアップグレードを実行するには、allow-major-version-upgrade パラメータが必要です。また、エンジンバージョンを含めるようにしてください。そうしないと、エンジンが別のバージョンにアップグレードされる可能性があります。

クラスターでカスタムクラスターパラメータグループを使用する場合は、必ずこのパラメータを含めて、それを指定してください。

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

同様に、クラスター内のインスタンスがカスタム DB のパラメータグループを使用している場合は、必ずこのパラメータを指定して、次のようになります。

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

アップグレードの前に必ずテストする

新しいメジャーまたはマイナーバージョンの Neptune エンジンがリリースされたら、アップグレードする前に、まず最初に Neptune アプリケーションをテストしてください。マイナーアップグレードでも、コードに影響する新しい機能や動作が導入される可能性があります。

まず、現在のバージョンのリリースノートページと対象バージョンのリリースノートページを比較して、クエリ言語のバージョンに変更があるか、その他の重大な変更がないかを確認します。

本番 DB クラスターをアップグレードする前に新しいバージョンをテストする最善の方法は、本番クラスターをクローンして、クローンで新しいエンジンバージョンを実行することです。その後、本番 DB クラスターに影響を与えずに、クローンに対してクエリを実行できます。

アップグレードの前に必ずスナップショットを手動で作成してください

アップグレードの前に必ず DB クラスターの手動スナップショットを作成することを強く推奨します。自動スナップショットを作成しても短期的な保護しか得られませんが、手動スナップショットは明示的に削除するまで使用できます。

場合によっては、Neptune がアップグレードプロセスの一環として手動スナップショットを作成することもありますが、これを頼りにすべきではなく、どのような場合でも独自の手動スナップショットを作成する必要があります。

DB クラスターをアップグレード前の状態に戻す必要がないことが確実な場合は、自分で作成した手動スナップショットと、Neptune が作成した手動スナップショットを明示的に削除できます。Neptune が手動スナップショットを作成する場合、その名前は preupgrade で始まり、その後に DB クラスターの名前、ソースエンジンのバージョン、ターゲットエンジンのバージョン、および日付が続きます。

注記

保留中のアクションの処理中にアップグレードを試みた場合、次のようなエラーが発生する可能性があります。

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.

このエラーが発生した場合は、保留中のアクションが終了するのを待つか、すぐにメンテナンスウィンドウをトリガーして、前回のアップグレードを完了させます。

お使いのエンジンバージョンのアップグレードの詳細については、Amazon Neptune DB クラスターのメンテナンス を参照してください。ご質問やご不明点がございましたら、コミュニティフォーラムや AWS プレミアムサポートから AWS サポートチームにお問い合わせください。