View a markdown version of this page

Amazon Neptune エンジンバージョン 1.3.4.0 (2024-10-01) - Amazon Neptune

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

Amazon Neptune エンジンバージョン 1.3.4.0 (2024-10-01)

2024 年 10 月 1 日現在、エンジンバージョン 1.3.4.0. は一般にデプロイされています。新しいリリースがすべてのリージョンで利用可能になるまでに数日かかります。

注記

エンジンリリース 1.3.0.0 では、カスタムパラメータグループとカスタムクラスターパラメータグループに新しい形式が導入されました。そのため、1.3.0.0 より前のエンジンバージョンからエンジンバージョン 1.3.0.0 以降にアップグレードする場合は、パラメータグループファミリー neptune1.3 を使用している既存のカスタムパラメータグループとカスタムクラスターパラメータグループをすべて再作成する必要があります。以前のリリースではパラメータグループファミリー neptune1 または neptune1.2 を使用していましたが、これらのパラメータグループはリリース 1.3.0.0 以降では動作しません。同様に、エンジンバージョン 1.4.0.0 以降では 1.4.0.0 クラスターパラメータグループを使用する必要があります。詳細については「Amazon Neptune パラメータグループ」を参照してください。

警告

SPARQL 1.1 の更新操作で問題が検出されました。これは、更新演算子をアクションベースの認可ポリシーで使用するときに、特定の条件下で発生する可能性があります。アクションベースの認可ポリシーで SPARQL 1.1 更新操作を使用している場合は、この問題の修正を含む最新の Neptune マイナーエンジンバージョン (1.3.4.0 以上) にアップグレードすることをお勧めします。

次のクエリのように、数値型パラメータの重複使用の処理に問題があるため、数値パラメータ値を含むパラメータ化されたクエリでは、クエリプランキャッシュが一時的に無効になりました。

MATCH (n:movie) WHERE n.runtime>=$minutes RETURN n UNION MATCH (n:show) WHERE n.duration>=$minutes RETURN n parameters={"minutes":130}

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

  • DFE エンジンのネストされたトラバーサルでの Gremlin limit() ステップ実行のサポートが追加されました。

  • 以下に示す Gremlin 結果キャッシュに関連する CloudWatch メトリクスを追加しました。これは、結果キャッシュのレイテンシの診断および調整に役立ちます。詳細については、「Neptune メトリクス」を参照してください。

    NumResultCacheHit NumResultCacheMiss ResultCacheSizeInBytes ResultCacheItemCount ResultCacheOldestItemTimestamp ResultCacheNewestItemTimestamp

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

全般的な改善点:
  • まれに、クエリエラーを返す代わりにエンジンがクラッシュする問題を修正しました。

Gremlin の修正
  • クライアントまたはプロキシが、確立/使用されている HTTP 接続経由で Websocket アップグレードリクエストを送信したときのリクエスト処理とエラーレポートを改善しました (以前は、「Gremlin スクリプトが指定されていません。コード MissingParameterException」というエラーを含む 400 の応答が返されていました)。

  • 単一基数プロパティ値の更新によるmergeVステップの処理を最適化しました。例えば、以下のクエリは Neptune でネイティブにサポートされるようになりました。

    g.mergeV([(T.id): 1234]). option(onMatch, ['age': single(20), 'name': single('alice'), 'city': set('miami')])
  • クエリが で失敗する原因となる Gremlin DFE クエリ評価の問題を修正しましたInternalFailureException。このエラーは、次の例selectに示すように、 の特定のパターンで発生しました。

    g.V("1").as("a").as("b").select("a","b").dedup()
openCypher の修正
  • null 値が存在する を実行するcollect(distinct())とエラーが返される問題を修正しました。

  • 範囲フィルター (パラメータ値に対する</<=/>=) を含むパラメータ化されたクエリを実行すると、結果が重複/欠落する問題を修正しました。

  • 制限クエリで DFE エンジンが要求したよりも多くの出力を生成し、メモリ不足エラーが発生する可能性があるバグを修正しました。

SPARQL の修正
  • IAM 認証が有効なクラスターでフェデレーション SPARQL 更新クエリを実行すると、エラーが返される問題を修正しました。

  • SPARQL 1.1 更新操作のアクションベースの権限を修正しました。

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

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

  • サポートされている最も古いバージョンの Gremlin: 3.7.1

  • サポートされている最も新しいバージョンの Gremlin: 3.7.1

  • openCypher バージョン: Neptune-9.0.20190305-1.0

  • SPARQL バージョン: 1.1

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

このリリースへは、エンジンリリース 1.2.0.0 以降からアップグレードできます。

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

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

Linux、OS X、Unix の場合:

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

Windows の場合:

aws neptune modify-db-cluster ^ --db-cluster-identifier (your-neptune-cluster) ^ --engine-version 1.3.4.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 サポートを通じてサポートチームにお問い合わせください。