Aurora PostgreSQL Limitless Database のクエリ - Amazon Aurora

Aurora PostgreSQL Limitless Database のクエリ

Aurora PostgreSQL Limitless Database は、クエリの PostgreSQL 構文と互換性があります。psql、または PostgreSQL で動作するその他の接続ユーティリティを使用して、Limitless Database をクエリできます。クエリを実行するには、「Aurora PostgreSQL Limitless Database DB クラスターへの接続」に示すように、無制限エンドポイントに接続します。

すべての PostgreSQL SELECT クエリは、Aurora PostgreSQL Limitless Database でサポートされています。ただし、クエリは 2 つのレイヤーで実行されます。

  1. クライアントがクエリを送信するルーター

  2. データが配置されているシャード

パフォーマンスは、異なるシャードに対する異なるクエリの高度な同時処理が可能な方法でデータベースをクエリできるかどうかに依存します。クエリは最初に分散トランザクションレイヤー (ルーター) で解析されます。クエリの実行を計画する前に、クエリに参加するすべてのリレーションの場所を特定するための分析フェーズがあります。すべてのリレーションが同じシャードにフィルタリングされたシャードキーを持つシャードテーブル、またはリファレンステーブルである場合、クエリ計画はルーターレイヤーでスキップされ、計画と実行のためにシャードに完全にプッシュダウンされます。このプロセスにより、異なるノード (ルーターとシャード) 間のラウンドトリップの回数が減り、ほとんどの場合パフォーマンスが向上します。詳細については、「Aurora PostgreSQL Limitless Database の単一シャードクエリ」を参照してください。

注記

直積集合 (クロス結合) などの特定のケースでは、シャードとは別にデータを取得することでクエリのパフォーマンスが向上します。

詳細については、「Aurora PostgreSQL Limitless Database リファレンス」の「EXPLAIN」を参照してください。クエリに関する一般的な情報については、PostgreSQL ドキュメントの「Queries」を参照してください。