Amazon Neptune エンジンバージョン 1.1.0 (2022-04-19) - Amazon Neptune

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

Amazon Neptune エンジンバージョン 1.1.0 (2022-04-19)

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

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

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

  • -openCypher クエリ言語は、本稼働環境用に一般公開されるようになりました。

  • のサポートの追加 TinkerPop 3.5.2。中でもこのリリースの変更点リモートトランザクションをサポートし、セッションのバイトコードサポートをサポートしている (g.tx)、およびdatetime()関数をグレムリン言語に変換します。

    警告

    いくつかの重大な変更が導入されました TinkerPop 3.5.0、3.5.1、および3.5.2は、Gremlinコードに影響する可能性があります。例:aによってスポーンされたトラバーサルを使用する GraphTraversalSource 子としてこのようなものはもう機能しません。g.V().union(identity(), g.V())

    代わりに、次のような匿名トラバーサルを使用します。g.V().union(identity(), __.V())

  • のサポートの追加AWSグローバル条件キーで使用できることIAM データアクセスポリシーNeptune a Neptune DB クラスターに格納されているデータへのアクセスを制御します。

  • -Neptune DFEクエリエンジンは、OpenCypher クエリ言語で本番環境で使用できるようになりましたが、Gremlin および SPARQL クエリではまだ使用できません。今度はそれ自身を使ってそれを有効にしますneptune_dfe_query_enginelab-mode パラメーターではなくインスタンスパラメーターです。

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

  • の新機能をに追加しました。openCypherパラメータ化されたクエリのサポート、パラメータ化されたクエリのための抽象構文木(AST)キャッシュ、可変長パス(VLP)の改善、新しい演算子と句などです。「」を参照してください。Amazon Neptune の OpenCypher 標準への準拠現在の言語サポートレベルについて。

  • OpenCypherのパフォーマンスが大幅に向上し、読み取りと書き込みのワークロードがシンプルになり、リリース1.1.0.0と比較してスループットが向上しました。

  • 可変長パスを処理するOpenCypherの双方向および深さの制限を削除しました。

  • GremlinのDFEエンジンでのサポートを完了しましたwithinそしてwithout述語、他の述語演算子と組み合わされる場合を含む。例:

    g.V().has('age', within(12, 15, 18).or(gt(30)))
  • Gremlin に対するDFE エンジンのサポートの拡張orderスコープがグローバル (つまり、order(local))、およびいつby()モジュレータは使用されません。たとえば、このクエリでは DFE がサポートされるようになります。

    g.V().values("age").order()
  • がに追加されました。isLastOpフィールドをNeptune ストリーム変更ログ応答形式。レコードがトランザクションの最後の操作であることを示します。

  • 監査ログのパフォーマンスが大幅に向上し、監査ログが有効になっているときの待ち時間が短縮されました。

  • Gremlin の変換 WebSocket バイトコードとHTTPクエリを監査ログでユーザーが読み取り可能な形式に変換します。クエリを監査ログから直接コピーして、Neptune ノートブックなどで実行できるようになりました。現在の監査ログ形式に対するこの変更は、重大な変更を構成することに注意してください。

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

  • ネストされた使用時に結果が返されない、まれなグレムリンのバグを修正しましたfilter()そしてcount()次のクエリのように、ステップを組み合せて使用します。

    g.V("1").filter(out("knows") .filter(in("knows") .hasId("notExists")) .count())
  • どちらかのAggregateステップによって保存された頂点を使用するときにエラーが返されるGremlinのバグを修正しましたto()またはfrom()と組み合わせたトラバーサルaddEステップ。このようなクエリの例を以下に示します。

    g.V("id").aggregate("v").out().addE().to(select("v").unfold()))
  • Gremlin のバグを修正しました。notステップは、DFEエンジンを使用するときにエッジケースで失敗していました。例:

    g.V().not(V())
  • Gremlin のバグを修正しました。sideEffect値は内では利用できませんでしたto()そしてfrom()トラバーサル。

  • 高速リセットによってインスタンスのフェイルオーバーがトリガーされることがあるバグを修正しました。

  • 失敗したトランザクションが次のロードジョブを開始する前に閉じられないバルクローダーのバグを修正しました。

  • メモリ不足がシステムのクラッシュを引き起こす可能性があるバルクローダーのバグを修正しました。

  • フェイルオーバー後に IAM 認証情報が利用可能になるまで、ローダーが十分な時間待たなかったバルクローダーのバグを修正するための再試行を追加しました。

  • 内部クレデンシャルキャッシュが以下のような非クエリーエンドポイントに対して適切にクリアされないバグを修正しましたstatusエンドポイントにする必要があります。

  • ストリームのコミットシーケンス番号が適切に順序付けられるように、ストリームのバグを修正しました。

  • IAM が有効なクラスターで、長時間接続が 10 日より早く終了するバグを修正しました。

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

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

  • Gremlin バージョン: 3.5.2

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

  • SPARQL バージョン: 1.1

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

以前の Neptune エンジンリリースを、このリリースに手動でアップグレードできます。メジャーバージョンエンジン (1.1.0.0) より前のバージョンは、このリリースへのアップグレードに時間がかかることに注意してください。

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

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

重要

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

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

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

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

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

    • 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

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

Linux、OS X、Unix の場合:

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

Windows の場合:

aws neptune modify-db-cluster ^ --db-cluster-identifier (your-neptune-cluster) ^ --engine neptune ^ --engine-version 1.1.1.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 エンジンの更新 を参照してください。ご質問やご不明点がございましたら、コミュニティフォーラムや AWS プレミアムサポートから AWS サポートチームにお問い合わせください。