ノートブックの使用状況とコスト・モニタリング

ノートブックは、構成された 仮想ウェアハウス または コンピューティングプール によってコンピューティングリソースを消費します。コストを管理し、効率的な操作を保証するためには、個々のノートブック、ユーザー、基になるコンピューティングインフラストラクチャの使用状況を監視することが重要です。この可視性は、効率的な操作を確保し、環境全体でのコスト責任をサポートします。

Snowflakeは、 ACCOUNT_USAGE ビューとシステムテーブルを通じて詳細な使用状況データにアクセスします。このデータは、次のような質問に答えるのに役立ちます。

  • ノートブックごとの時間単位のクレジット消費は?

  • 過去1週間にノートブックを実行した頻度は?

  • 過去1か月でノートブックを実行したユーザーはどれですか?

  • 過去1週間にノートブックが使用したコンピューティングプールやウェアハウスはどれですか?

  • 特定のコンピューティングリソースを使用したノートブックの総クレジットコストは?

コンピューティング関連のコスト管理の幅広い概要については、 コンピューティングコストの調査 をご参照ください。

Example クエリ

Snowflake の ACCOUNT_USAGE ビュー をクエリして、ノートブックのクレジット消費を把握することができます。これらの表示は、ノートブック、ユーザー、またはコンピューティングプールレベルごとに、日次または時間単位でコストを分解します。

使用状況

次の例では、各行が単一のノートブックの実行を表し、実行タイムスタンプ、ノートブックを実行したユーザー、ランタイム環境(ウェアハウスまたはコンテナランタイム)などの詳細が含まれています。

-- Warehouse Runtime
SELECT query_text, t1.user_name, credits_attributed_compute as total_warehouse_credits
FROM snowflake.account_usage.query_history t1
INNER JOIN snowflake.account_usage.query_attribution_history t2
ON t1.query_id = t2.query_id

-- Add your notebook name
AND t1.query_text ILIKE 'execute notebook% <example_nb_name>'
;

-- Container Runtime
SELECT
  start_time, notebook_name, user_name, SUM(credits) AS total_container_runtime_credits
FROM snowflake.account_usage.notebooks_container_runtime_history
WHERE notebook_name = '<example_nb_name>'
GROUP BY ALL;
Copy

コンテナランタイムでのコスト・モニタリング

以下のクエリは、アカウント内のノートブックのクレジット消費を監視するのに役立ちます。これらのクエリを使用して、ノートブックの使用パターンを分析し、コストを見積もり、個々のノートブックがコンピューティングプールの費用にどのように貢献するかを把握します。

クエリ:ノートブック別の時間単位のクレジット消費

このクエリは、クレジット使用状況や実行タイムスタンプなど、特定のノートブックのランタイム履歴を取得します。このデータを使用して、ノートブックの実行頻度と実行時間を把握し、時間ごとのクレジット消費のパターンや急増を特定します。

SELECT * FROM snowflake.account_usage.notebooks_container_runtime_history
WHERE notebook_name = '<example_nb_name>';
Copy
クエリ:特定のノートブックを実行するためのコスト

このクエリは、特定のノートブックで消費されたクレジットの合計を示します。これを使用して、ノートブックのコストを見積もり、高いコストのノートブックを特定します。

SELECT
  notebook_name,
  SUM(credits) AS total_credits
FROM snowflake.account_usage.notebooks_container_runtime_history
WHERE notebook_name = '<example_nb_name>'
GROUP BY notebook_name;
Copy
クエリ:ノートブックあたりのコンピューティングプールコスト

このクエリは、特定のコンピューティングプールで実行されている各ノートブックによって消費されたクレジットの合計を示します。これを使用して、ノートブックごとにコンピューティングの使用状況を分類します。これは、どのノートブックがコンピューティングプールの全体的なコストに最も貢献しているかを特定するのに役立ちます。

SELECT
  notebook_name,
  SUM(credits) AS total_credits
FROM snowflake.account_usage.notebooks_container_runtime_history
WHERE compute_pool_name = '<example_cp_name>'
GROUP BY notebook_name;
Copy
クエリ:特定のノートブックを実行したユーザーを特定する

このクエリは、特定のノートブックを実行したユーザーのリストを返します。これを使用して、使用パターンを理解したり、共有ノートブックのコラボレーターやコンシューマーを特定します。

SELECT
  DISTINCT user_name
FROM snowflake.account_usage.notebooks_container_runtime_history
WHERE notebook_name = '<example_nb_name>';
Copy

その他の注意事項

クエリのコストは基になるウェアハウスに関連します。ウェアハウスの仕組みについては、 仮想ウェアハウスのクレジット使用状況 をご参照ください。