翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ベストプラクティス: Neptune を最大限に活用する
以下に、Amazon Neptune を使用するための一般的な推奨事項をいくつか示します。Amazon Neptune を使用してパフォーマンスを最大にするための推奨事項をすばやく検索できるリファレンスとしてご使用ください。
目次
- Amazon Neptune 基本操作ガイドライン
- Neptune で Gremlin を使用するための一般的なベストプラクティス
- Neptune で Gremlin Java クライアントを使用するためのベストプラクティス
- Apache TinkerPop Java クライアントの互換性のある最新バージョンを使用する
- 複数のスレッドにまたがってクライアントオブジェクトを再利用する
- 読み取りと書き込みエンドポイントに別々の Gremlin Java クライアントオブジェクトを作成する
- 複数のリードレプリカエンドポイントを Gremlin Java 接続プールに追加する
- 接続制限を回避するためにクライアントを閉じる
- フェイルオーバー後の新しい接続の作成
- maxInProcessPerConnection と maxSimultaneousUsagePerConnection を使用し、値を同じに設定してください。
- 文字列ではなくバイトコードとしてサーバーにクエリを送信する
- クエリによって返される ResultSet またはイテレーターを常に完全に消費する
- 頂点とエッジをバッチで一括追加
- Java DNS 仮想マシンでのキャッシュの無効化
- クエリごとのレベルでタイムアウトを設定する (オプション)
- java.util.concurrent.TimeoutException のトラブルシューティング
- OpenCypher と Bolt を使用した Neptune のベストプラクティス
- クエリでは双方向のエッジを優先する
- Neptune は 1 つのトランザクションでの複数の同時クエリをサポートしていません。
- フェイルオーバー後の新しい接続の作成
- 存続期間の長いアプリケーションの接続処理
- の接続処理 AWS Lambda
- 完了したら、ドライバーオブジェクトを閉じます
- 読み取りと書き込みには明示的なトランザクションモードを使用してください。
- 例外の場合の再試行ロジック
- 1 つの SET 句で複数のプロパティを一度に設定できます。
- SET 句を使用すると、複数のプロパティを一度に削除できます。
- パラメータ化されたクエリを使う
- UNWIND 句では、ネストされたマップの代わりにフラット化されたマップを使用してください。
- 可変長パス (VLP) 式では、より制限の厳しいノードを左側に配置します。
- 詳細なリレーションシップ名を使用することにより、ノードラベルのチェックが重複しないようにします。
- 可能な場合はエッジ・ラベルを指定してください。
- WITH 句はできるだけ使用しないでください。
- 制限付きフィルターはクエリのできるだけ早い段階で配置してください。
- プロパティが存在するかどうかを明示的にチェックしてください。
- 名前付きパスは (必要でない限り) 使用しないでください。
- コレクト (DISTINCT ()) は避けてください。
- すべてのプロパティ値を取得する場合は、個別のプロパティ検索よりもプロパティ関数を使用する方がよいでしょう。
- クエリーの外部で静的計算を実行する。
- 個々のステートメントの代わりに UNWIND を使用するBatch 入力
- ノード/リレーションシップにはカスタム ID を使用することを推奨します。
- ~idクエリでは計算は行わないでください。
- SPARQL を使用した Neptune のベストプラクティス