ハイブリッドテーブルのワークロードをモニター¶
ハイブリッドテーブルを活用するUnistoreワークロードは、Snowflakeで実行している多くの分析ワークロードとは異なります。例えば、ワークロードに含まれる一意のクエリが少なく、実行にかかる時間が短く、実行頻度が高い場合があります。ワークロードをモニターするには、いくつかのオプションがあります。
トランザクションをモニターする¶
ハイブリッドテーブルは、 SHOW TRANSACTIONS、 DESCRIBE TRANSACTION、 SHOW LOCKS、 LOCK WAIT HISTORY を含む、Snowflakeトランザクションモニター機能をサポートしています。
ハイブリッドテーブルに対するこれらのコマンドとビューの動作は、次の変更点を除いて、標準的なSnowflakeテーブルの動作と一致しています。
新しい
ROWロックタイプが SHOW LOCKS コマンドに導入され、ハイブリッドテーブルに対する行ロックを表すことができるようになりました。ロックは要約され、1つのトランザクションが(1つまたは複数の)行ロックを保持し、別のトランザクションがこれらのロックを待機していることが表示されます。LOCK WAIT HISTORY はスキーマ関連情報を表示しません。
LOCK_WAIT_HISTORY は BLOCKER_QUERIES を要約しません。クエリが複数のブロッカーによってブロックされた場合、それらは単一の待機記録に対する BLOCKER_QUERIES JSON 配列内の複数のエントリとしてではなく、ビュー内の複数の記録として表示されます。
SHOW LOCKS の結果と LOCK_WAIT_HISTORY ビュー:
行ロックは要約されるため、ロックを保持するトランザクションは開始時にロックを取得するものと想定されます。
Unistoreのトランザクションは大量に発生する可能性があるため、長時間(約5秒)他のトランザクションをブロックしたロックのみが表示されます。
ロック待ちのトランザクションは、ロックを取得した場合でもまだロックを待機しているように見える場合があります(取得から1分以内)。ロックレポートの精度は、今後のリリースで改善される予定です。
待機クエリをブロックしたステートメントが完了し、ハイブリッド・テーブルに対する短時間実行クエリであった場合、待機クエリ記録の BLOCKER_QUERY フィールドには、ブロッカークエリに関する次の情報は表示されません。
ブロッカークエリのクエリ UUID
ブロッカークエリのセッション ID
ブロッカークエリのユーザー名
ブロッカークエリのデータベース ID
ブロッカークエリのデータベース名
ワークロードをモニターする¶
運用ワークロードを効率的にモニターするには、 AGGREGATE_QUERY_HISTORY ビュー を使用します。このビューを使用することで、ワークロードの健全性をモニターし、問題を診断して、最適化の方法を特定できます。AGGREGATE_QUERY_HISTORY ビューは、一定期間にわたって繰り返し実行されるパラメーター化されたクエリのクエリ実行統計を集計し、時間の経過に伴うワークロードとクエリのパターンをより簡単かつ効率的に識別できるようにします。このビューの出力では、すべてのSnowflakeワークロードとクエリが結合されることに注意してください。
AGGREGATE_QUERY_HISTORY ビューは、ワークロードに関する次の質問に答えるのに役立ちます。
仮想ウェアハウスでは、1秒あたりにいくつの操作が実行されていますか?
ワークロード内で、合計時間またはリソースの消費がもっとも多いクエリはどれですか?
時間の経過とともに特定のクエリのパフォーマンスが大幅に変化しましたか?
ワークロードのパフォーマンスと効率を向上させるために、低レイテンシ(1秒未満)操作の個々の実行は QUERY_HISTORY ビュー に保存されず、一意のクエリプロファイルも生成されません。代わりに、そのクエリを繰り返し実行した場合の集計統計が AGGREGATE_QUERY_HISTORY ビューで返されます。選択した時間間隔におけるクエリのサンプルクエリプロファイルを表示することもできます。この動作に関する詳細については、 使用上の注意 をご参照ください。
Tip
Snowsight の グループ化されたクエリ履歴ビュー を使用して、典型的なハイブリッドテーブルワークロードのパフォーマンスと統計を視覚化できます。このビューは、すべてのハイブリッドテーブルのアクティビティをキャプチャするわけではありませんが、やや反復的で、非常に高速に実行される大容量の個々のクエリのパフォーマンスをモニターするための良い選択肢を提供します。
ワークロード全体の健全性のモニター¶
AGGREGATE_QUERY_HISTORY ビューを使用して、全体的なワークロードのスループットと同時実行性をモニターし、ワークロードの予期しない急増や低下を調査します。例:
集計クエリ履歴を使用して、エラー、キューイング、ロックブロック、スロットリングなどの潜在的な問題をモニターすることもできます。例:
通常、このような指標は低いままであるはずです。予期しない急増が見られる場合は、原因を調査することをお勧めします。
繰り返し発生するクエリの特定と調査¶
ワークロードの効率を向上させるために、よく実行される一般的なクエリのパフォーマンスを最適化または調査することを選択できます。AGGREGATE_QUERY_HISTORY ビューを使用して、ワークロードの実行回数が上位のクエリを識別できます。例:
もっとも遅いクエリのメトリックを表示するかどうかを選択できます。例:
特定のクエリのパフォーマンスを時間の経過とともに分析して、レイテンシの傾向を把握できます。例:
このクエリは、合計クエリ時間を計算します。クエリを変更して、クエリのさまざまなフェーズ(コンパイル、実行、キューイング、ロック待機)について、より詳細なメトリックを返すこともできます。各フェーズごとに集計された統計が返されます。