このページでは、拡張されたクエリ分析ツールの概要について説明します。このツールの使用を開始するには、拡張された Query Insights を使用してクエリのパフォーマンスを改善するをご覧ください。
Enhanced Query Insights は、高度なクエリ パフォーマンス診断と、標準の Query Insights で利用可能なすべての機能を提供します。
AlloyDB の Enhanced Query Insights は、データベースとクエリのパフォーマンスの問題をほぼリアルタイムで検出してトラブルシューティングし、防止できる、クエリ パフォーマンス診断支援プラットフォームです。過去 7 日間の Query Insights データに基づいて、アプリケーション レベルでクエリのパフォーマンスをモニタリングし、アクション、コントローラ、フレームワーク、ルート、アプリケーション、データベース ドライバごとに、アプリケーション スタック全体で問題のあるクエリの元をトレースできます。強化された Query Insights は、すべてのクエリのクエリプランをキャプチャし、1 分あたり最大 200 個のクエリプランをサンプリングします。
クエリのパフォーマンスの問題の根本原因を事前に特定してトラブルシューティングできるように、拡張された Query Insights では次のことができます。
- アドホック分析を実行して、ユーザー、ホスト、データベースなどの複数のディメンションにわたるリアルタイムに近いクエリ統計情報と相関分析を使用して、難しい問題を診断します。
- 完全な SQL ステートメントと付随するコメントを使用して、クエリ実行プランを表示します。必要に応じて、クエリに関連付けられたコメントを表示するようにオプトインできます。
- 待機イベントなどのテレメトリーを分析して、複雑なパフォーマンスの問題をトラブルシューティングします。待機イベントは、クエリ関連のオペレーションの処理を遅らせるコンポーネントです。待機イベント指標はデフォルトで有効になっています。長時間実行されるクエリとそれに関連する待ち時間のパフォーマンスの問題を診断してデバッグするのに役立ちます。
- インデックスの作成に関するインデックス アドバイザーの推奨事項を表示します。
- Query Insights の設定を構成します。たとえば、クエリの長さをカスタマイズしたり、待機イベント分析を有効にしたり、クエリのコメントやアプリケーション タグを保存したりできます。過去のデータとほぼリアルタイムのデータにアクセスできます。
- 最大 30 日間のデータを分析して、長期的なパフォーマンスを確認します。
強化された Query Insights のメリット
拡張 Query Insights には、クエリのパフォーマンスの問題を検出して修正するのに役立つ次の機能があります。
- クエリのパフォーマンスの問題を早期に特定し、 Google Cloud コンソールの 1 つのページで問題を特定、診断、解決できる、事前構築されたダッシュボード。
- 根本原因の特定と問題のトラブルシューティングに役立つビジュアル クエリプラン。インコンテキスト エンドツーエンドのアプリケーション トレースを使用して、問題のあるクエリのソースをトレースできます。
- Google Cloudのエンタープライズ セキュリティ、プライバシー、コンプライアンス サービスに基づく分析情報により、運用のオーバーヘッドを削減できます。
- オブジェクト リレーショナル マッパー(ORM)を使用して構築されたアプリケーションのアプリケーション中心のモニタリングと簡素化されたパフォーマンス診断。クエリにビジネス ロジックでタグを付けることで、アプリケーション中心のビューでデータベース パフォーマンスをモニタリングできます。オープンソース ライブラリである Sqlcommenter は、ORM を自動計測して、パフォーマンスの問題の原因となっているアプリケーション コードを特定します。
強化された Query Insights の仕組み
強化された Query Insights はフルマネージドであるため、この機能をインストールしたり、積極的に管理したりする必要はありません。
拡張された Query Insights は、フックを使用して実装されたクエリ指標と実行プランを記録する拡張機能を読み込みます。指標は AlloyDB テーブルに保存され、正規化された実行プランは Cloud Trace に保存されます。
これらの指標には、 Google Cloud コンソールの AlloyDB Query Insights ページでアクセスできます。指標は、クエリの完了から 30 秒以内に拡張 Query Insights で利用できるようになると想定されています。指標は、データベース ストレージと同じ方法で保存時に暗号化されます。
強化された Query Insights は、正規化されたクエリのみを保存し、表示します。クエリ文字列の定数値はすべて削除されます。クエリのコメントは、オンデマンドでのみ保持されます(オプトイン機能)。クエリプランのトレースでは、定数値は収集されず、保存されません。
ストレージ
強化された Query Insights は、正規化されたクエリのみを保存し、表示します。クエリ文字列の定数値はすべて削除されます。クエリプランのトレースは、定数値を収集、保存しません。デフォルトでは、拡張 Query Insights はタグ情報を収集しません。後で有効にした場合は、インスタンスごとの強化された Query Insights の設定で無効にできます。
Query Insights ダッシュボードには、4 週間のデータが表示されます。7 日間分のデータのストレージ要件は約 36 GB です。強化された Query Insights は最大 10 MB の RAM(共有メモリ)を使用します。指標は、クエリの完了から 30 秒以内に Insights で利用できるようになると想定されています。さらに、標準の Query Insights 指標は Cloud Monitoring のシステム指標で使用できるため、標準の Query Insights の機能はそのまま維持されます。Cloud Monitoring システム指標の保持ポリシーの詳細については、データの保持をご覧ください。
拡張 Query Insights のトレースは Cloud Trace に保存され、保持期間は 30 日間です。Cloud Trace のデータ保持ポリシーの詳細については、割り当てと上限をご覧ください。
制限事項
- 拡張 Query Insights によって公開される指標は、Cloud Monitoring API では使用できません。
- プレビュー版では、クライアント IP アドレスのサポートは利用できません。
- クロスリージョン レプリカのサポートが有効になっているインスタンスでは、拡張 Query Insights を有効にできません。拡張 Query Insights がすでに有効になっている場合は、セカンダリ クラスタを作成する前に、プライマリ クラスタのすべてのインスタンスで拡張 Query Insights を無効にする必要があります。
- AlloyDB は、プライマリ インスタンスと読み取りプール インスタンスの Query Insights データを 30 日間保存します。プライマリ インスタンスのデータの保存には約 180 GB の容量が消費されます。この容量は、クラスタ内のリードプール ノードの数に応じて増加する可能性があります。使用されるストレージの最大サイズは 700 GB です。
- 読み取りプール インスタンスで有効にする前に、プライマリ インスタンスで強化された Query Insights を有効にする必要があります。