翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon Neptune エンジンバージョン 1.3.0.0 (2023-11-15)
2023 年 11 月 15 日現在、エンジンバージョン 1.3.0.0 は一般にデプロイされています。新しいリリースがすべてのリージョンで利用可能になるまでに数日かかります。
注記
エンジンリリース 1.3.0.0 では、カスタムパラメータグループとカスタムクラスターパラメータグループに新しい形式が導入されました。そのため、1.3.0.0 より前のエンジンバージョンからエンジンバージョン 1.3.0.0 以降にアップグレードする場合は、パラメータグループファミリー neptune1.3
を使用している既存のカスタムパラメータグループとカスタムクラスターパラメータグループをすべて再作成する必要があります。以前のリリースではパラメータグループファミリー neptune1
または neptune1.2
を使用していましたが、これらのパラメータグループはリリース 1.3.0.0 以降では動作しません。詳細については、「Amazon Neptune パラメータグループ」を参照してください。
このエンジンリリースの新機能
-
Neptune データ API をリリースしました。
Amazon Neptune データ API は、データの読み込み、クエリの実行、データ照会、機械学習など、Neptune の 40 を超えるデータオペレーションを SDK でサポートしています。Neptune の 3 つすべてのクエリ言語 (Gremlin、openCypher、SPARQL) をサポートしており、すべての SDK 言語で使用できます。API リクエストに自動的に署名し、Neptune のアプリケーションへの統合を大幅に簡素化します。
OpenSearchサーバーレスと Neptune の統合のサポートが追加されました。
このエンジンリリースの改良点
Neptune エンジンアップデートの改善点
Neptune のエンジンアップデートのリリース方法が変わり、アップデートプロセスをより細かく制御できるようになりました。Neptune では、互換性を破る変更がない場合にパッチの代わりにマイナーバージョンをリリースし、これを AutoMinorVersionUpgrade インスタンスフィールドを使用して制御できるようになりました。RDS-EVENT-0156 イベントにサブスクライブすることで、マイナーバージョンに関する通知を受け取ることができます。
これらの変更の詳細については、「Amazon Neptune DB クラスターのメンテナンス」を参照してください。
転送中の暗号化の改善
Neptune では、以下の暗号スイートがサポートされなくなりました。
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
Neptune では、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
Gremlin の改善
-
以下の Gremlin ステップに対するサポートを DFE エンジンに追加しました。
FoldStep
GroupStep
GroupCountStep
TraversalMapStep
UnfoldStep
LabelStep
PropertyKeyStep
PropertyValueStep
AndStep
OrStep
ConstantStep
CountGlobalStep
Gremlin DFE クエリプランを最適化し、
by()
変調の使用時に頂点全体がスキャンされないようにしました。低カーディナリティおよび低レイテンシーのクエリのパフォーマンスが大幅に向上しました。
フィルター述語の DFE サポートが追加されました。 TinkerPop
Or
-
次のようなクエリに対して、同じキーでのフィルターのトラバーサルの DFE サポートを改善しました。
g.withSideEffect("Neptune#useDFE", true) .V() .has('name', 'marko') .and( or( has('name', eq("marko")), has('name', eq("vardas")) ) )
fail()
ステップのエラー処理を改善しました。
openCypher の改善
低カーディナリティおよび低レイテンシーのクエリのパフォーマンスが大幅に向上しました。
クエリに多数のノードタイプが含まれる場合のクエリプランニングのパフォーマンスが向上しました。
すべての VLP クエリのレイテンシーが短縮されました。
単一ノードパターンクエリの冗長なパイプライン結合を削除することでパフォーマンスが向上しました。
-
次のようなサイクルを伴うマルチホップパターンを含むクエリのパフォーマンスが向上しました。
MATCH (n)-->()-->()-->(m) RETURN n m
SPARQL の改善
新しい SPARQL 演算子として
PipelineHashIndexJoin
を導入しました。SPARQL クエリの URI 検証のパフォーマンスが向上しました。
辞書用語のバッチ解決により、SPARQL 全文検索クエリのパフォーマンスが向上しました。
このエンジンリリースで修正された不具合
Gremlin の修正
-
DFE エンジンでネイティブに処理されないステップの子トラバーサルに述語を含むクエリについて、Gremlin クエリステータスエンドポイントをチェックするときに、トランザクションリークが発生する Gremlin のバグを修正しました。
by()
トラバーサル時の DFE エンジンでvalueMap()
が最適化されないという Gremlin のバグを修正しました。UnionStep
に付加したステップラベルが子トラバーサルの最後のパス要素にそれぞれ伝播されないという Gremlin のバグを修正しました。TinkerPop クエリに含まれるステップが多すぎてクエリが失敗し、クリーンアップされないという Gremlin のバグを修正しました。
NullPointerException
がmergeV
ステップやmergeE
ステップにスローされるという Gremlin のバグを修正しました。文字列出力の一部にスペース文字が含まれていると
order()
によって正しくソートされない Gremlin のバグを修正しました。DFE エンジンで
valueMap
ステップの処理時に発生する Gremlin の正確性の問題を修正しました。GroupStep
またはGroupCountStep
をキートラバーサルにネストする際に発生する Gremlin の正確性の問題を修正しました。
openCypher の修正
NULL 文字に関するエラー処理に伴う OpenCypher のバグを修正しました。
openCypher ボルトトランザクション処理に伴うバグを修正しました。
SPARQL の修正
再帰関数内の値が適切に解決されないという SPARQL のバグを修正しました。
VALUES
句を使用して大量の値を挿入すると、パフォーマンスが低下するという SPARQL のバグを修正しました。言語タグ付きリテラルでの
REGEX
演算子の呼び出しが成功しないという SPARQL のバグを修正しました。
このリリースでサポートされるクエリ言語バージョン
DB クラスターをバージョン 1.3.0.0 にアップグレードする前に、プロジェクトが次のクエリ言語バージョンと互換性があることを確認してください。
サポートされている最も古いバージョンの Gremlin:
3.6.2
サポートされている最も新しいバージョンの Gremlin:
3.6.4
openCypher バージョン:
Neptune-9.0.20190305-1.0
SPARQL バージョン:
1.1
エンジンリリース 1.3.0.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.0.0 \ --allow-major-version-upgrade \ --apply-immediately
Windows の場合:
aws neptune modify-db-cluster ^ --db-cluster-identifier
(your-neptune-cluster)
^ --engine-version 1.3.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 コミュニティフォーラムやプレミアムSupport を通じてSupport チームにお問い合わせください