Azure Synapse Analytics での履歴クエリのストレージと分析
履歴クエリ分析は、データ エンジニアの重要なニーズの 1 つです。 Azure Synapse Analytics では、クエリ履歴とパフォーマンスを分析する 4 つの主な方法がサポートされています。 これには、クエリ ストア、DMV、Azure Log Analytics、Azure Data Explorer が含まれます。
この記事では、これらの各オプションをニーズに合わせて使用する方法について説明します。 クエリ履歴の分析に関するユース ケースと、それぞれに最適な方法を確認します。
顧客ニーズ | クエリ ストア | DMV | Azure Log Analytics | Azure Data Explorer |
---|---|---|---|---|
すぐに利用できるソリューション | 有効化が必要 | ✔️ | 追加サービスが必要 | 追加サービスが必要 |
長い分析期間 | 30 日 | 最大 10000 行の履歴 | カスタマイズ可能 | カスタマイズ可能 |
重要なメトリックの可用性 | 制限あり | ✔️ | 制限あり | カスタマイズ可能 |
分析に SQL を使用 | ✔️ | ✔️ | KQL が必要 | SQL サポートは制限付き |
クエリ ストア
クエリ ストア機能を使用すると、クエリ プランの選択やパフォーマンスに関する分析情報を得られます。 これにより、クエリ プランの変更によって生じるパフォーマンスの違いがすばやくわかるようになり、パフォーマンス上のトラブルシューティングを簡略化できます。
クエリ ストアは、新しい Azure Synapse Analytics データベースでは既定で有効になっていません。 クエリ ストアを有効にするには、次の T-SQL コマンドを実行します。
ALTER DATABASE <database_name>
SET QUERY_STORE = ON;
次に例を示します。
ALTER DATABASE [SQLPOOL1]
SET QUERY_STORE = ON;
パフォーマンスの監査とトラブルシューティング関連のタスクを実行するには、最後に実行されたクエリ、実行回数、実行時間が最長のクエリ、最大の物理 I/O 読み取り数を持つクエリを検索します。 クエリのサンプルについては、「クエリのストアを使用した、パフォーマンスの監視」を参照してください。
長所:
- クエリ データ用の最大 30 日間のストレージ。 既定値: 7 日。
- データは、クエリを実行するのと同じツールで使用できます。
既知の制限事項:
- 履歴クエリ データの既定のストレージは少なくなります。
- DMV の使用と比較した場合、Azure Synapse のクエリ ストアでは分析のシナリオが制限されます。
DMV
動的管理ビュー (DMV) は、クエリの待機時間、実行プラン、メモリなどに関する情報を収集する場合に非常に便利です。後で追跡するために、目的のクエリにラベルを付けることを強くお勧めします。 次に例を示します。
-- Query with Label
SELECT *
FROM sys.tables
OPTION (LABEL = 'My Query');
Azure Synapse SQL でのクエリのラベル付けの詳細については、「Synapse SQL でクエリ ラベルを使用する」を参照してください。
DMV を使用した Azure Synapse Analytics ワークロードの監視に関する詳細については、「DMV を使用して専用 SQL プールのワークロードを監視する」を参照してください。 Azure Synapse Analytics に固有のカタログ ビューに関するドキュメントについては、Azure Synapse Analytics のカタログ ビューに関するページを参照してください。
長所:
- データは、同じクエリ ツールで使用できます。
- DMV には、分析のためのさまざまなオプションが用意されています。
既知の制限事項:
- DMV は、10,000 行の履歴エントリに制限されています。
- プールが一時停止または再開されると、ビューがリセットされます。
Log Analytics
Log Analytics ワークスペースは、Azure portal で簡単に作成できます。 Synapse を Log Analytics と接続する方法の詳細な手順については、「ワークロードを監視する - Azure portal」を参照してください。
Azure Data Explorer と同様に、Log Analytics では Kusto クエリ言語 (KQL) を使用します。 Kusto 構文の詳細については、「Kusto クエリの概要」を参照してください。
構成可能な保持期間と共に、Log Analytics でクエリを実行するために特に対象とするワークスペースを選択します。 Log Analytics を使用すると、データの保存、クエリの実行と保存を柔軟に行うことができます。
長所:
- Azure Log Analytics には、カスタマイズ可能なログ保持ポリシーがあります
既知の制限事項:
- KQL の使用が学習曲線に追加されます。
- 制限されたビューはそのまますぐに記録できます。
Azure Data Explorer (ADX)
Azure Data Explorer (ADX) は、最先端のデータ探索サービスです。 このサービスは、Azure Synapse Analytics からの履歴クエリを分析するために使用できます。 ログをコピーして Azure Data Factory (ADX) に保存するように ADF パイプラインを設定するには、「Azure Data Explorer との間でデータをコピーする」を参照してください。 ADX では、パフォーマンスに優れた Kusto クエリを実行してログを分析できます。 たとえば ADF を使用して DMV 出力のクエリを実行して ADX に読み込むために、ここで他の戦略を組み合わせることができます。
長所:
- ADX には、カスタマイズ可能なログ保持ポリシーが用意されています。
- 大量のデータに対するパフォーマンスに優れたクエリ実行 (特に文字列検索を含むクエリ)。
既知の制限事項:
- KQL の使用が学習曲線に追加されます。