コンピューティングコストの調査

コンピューティングコスト合計は、次の全体的な使用で構成されます。

このトピックでは、 Snowsight を使用するか、 ACCOUNT_USAGE および ORGANIZATION_USAGE スキーマのビューに対するクエリを記述することによって、コンピューティングコスト履歴に対する洞察を得る方法について説明します。Snowsight を使用すると、視覚的なダッシュボードからコストに関する情報をすばやく簡単に取得できます。使用状況ビューに対するクエリを使用すると、コストデータをドリルダウンできるようになり、カスタムレポートとダッシュボードの生成に役立てることができます。

コンピューティングコストがどのように発生するかに関する詳細については、 コンピューティングコストについて をご参照ください。

注釈

クラウドサービスレイヤーはクレジットを消費しますが、これらのクレジットのすべてが実際に請求されるわけではありません。クラウドサービスの使用量は、クラウドサービスの1日の使用量が仮想ウェアハウスの1日の使用量の10%を超えた場合にのみ課金されます。Snowsight と大多数のビューは、このクラウドサービスへの日々の調整を考慮せずに、ウェアハウス、サーバーレス機能、クラウドサービスによって消費されたクレジットの合計数を表示します。

コンピュートコストとして実際に請求されたクレジットの数を調べるには、 METERING_DAILY_HISTORYビュー に対してクエリを実行します。

クレジット使用状況の表示

すべてのコンピューティングリソース(仮想ウェアハウス、サーバーレス、クラウドサービス)は、Snowflakeクレジットを消費します。ユーザーは、 Snowsight を使用して、特定の日、週、または月のコンピューティング使用状況の総コストを表示できます。

コンピューティングコストを調査するには、次を実行します。

  1. Snowsight にサインインします。

  2. コストと使用状況のデータへのアクセス権 を持つロールに切り替えます。

  3. ナビゲーションメニューで Admin » Cost management を選択します。

  4. 使用状況データを表示するために使用するウェアハウスを選択します。Snowflakeは、この目的のために XS ウェアハウスを使用することをお勧めします。

  5. Consumption を選択します。

  6. 使用状況のタイプドロップダウンから Compute を選択します。

Consumption ページに関する使用上の注意については、 使用上の注意 を参照のこと。

タグ別にフィルターする

組織内の理論ユニットに使用している リソースのコストを帰属させる ためにタグを使用できます。タグは、Snowflakeオブジェクトで、関連する1つ以上の値を持つことができます。適切な権限を持っているユーザーにより、コストセンターまたは他の理論ユニット(例: 開発環境、事業単位、または業種)が使用する各リソースに、タグと値のペアを適用します。リソースにタグを付けると、特定のタグと値のペアに基づいてコストを分離して、特定の理論ユニットにコストを帰属させることができるようになります。

Consumption ダッシュボードをフィルターして、特定のタグと値の組み合わせに関連したコストを表示するには、

  1. Snowsight にサインインします。

  2. コストと使用状況のデータへのアクセス権 を持つロールに切り替えます。

  3. ナビゲーションメニューで Admin » Cost management を選択します。

  4. 使用状況データを表示するために使用するウェアハウスを選択します。Snowflakeは、この目的のために XS ウェアハウスを使用することをお勧めします。

  5. Consumption を選択します。

  6. 使用状況のタイプドロップダウンから Compute を選択します。

  7. Tags ドロップダウンから、タグを選択します。

  8. タグの値のリストから値を選択します。

  9. Apply を選択します。

たとえば、ドロップダウンを使用して、 COST_CENTER タグと SALES 値を選択し、 COST_CENTER = SALES のタグがあるリソースに関連した使用状況をそれ以外の使用状況は含めずに表示することができます。

タグのあるすべてのリソースをタグの値に関係なく表示することもできます。ドロップダウンを使用してタグを選択してから、特定の値の代わりに All を選択します。

種類、サービス、リソース別に消費を表示する

コンピューティング履歴を表示する棒グラフを表示する場合は、データ By TypeBy Service、または By Resource をフィルターできます。

タイプ別:

リソースの消費をコンピューティング(仮想ウェアハウスとサーバーレスリソース)とクラウドサービスに分離します。このフィルターの目的のために、クラウドサービスは他のタイプのコンピューティングリソースから分離されます。

サービス別:

リソースの消費をウェアハウスの消費と各サーバーレス機能による消費に分離します。たとえば、 WAREHOUSE_METERING はウェアハウスによって消費されたクレジットを表し、 PIPE はサーバーレスSnowpipe機能によって消費されたクレジットを表します。クラウドサービスコンピューティングは、ウェアハウスの消費に含まれます。

リソース別:

クレジットを消費したSnowflakeオブジェクトごとにリソースの消費を分離します。たとえば、サーバーレスコストの発生したすべてのテーブルと同様に、各ウェアハウスが表示されます。

コンピューティングコストのデータのクエリ

Snowflakeは、使用状況とコストに関連するデータを含む2つのスキーマ、 ORGANIZATION_USAGEACCOUNT_USAGE を提供します。ORGANIZATION_USAGE スキーマは組織内にあるすべてのアカウントのコスト情報を提供しますが、 ACCOUNT_USAGE スキーマは単一のアカウントについて同様の情報を提供します。これらのスキーマでのビューは、カスタムレポートまたはダッシュボードを作成するための、詳細かつ分析に対応した使用状況データを提供します。

ORGANIZATION_USAGE および ACCOUNT_USAGE スキーマのほとんどのビューには、消費された クレジット に関するコンピューティングリソースのコストが含まれています。クレジットではなく通貨単位でコンピューティングコストを調査するには、 USAGE_IN_CURRENCY_DAILY ビュー に対するクエリを記述します。このビューは、クレジットの日次価格を使用して、消費されたクレジットを通貨単位のコストに変換します。

一般コストビュー

以下のビューには、すべてのSnowflake機能のコンピューティングコストに関連する情報が含まれています。service_type 列でフィルターをかけることで、特定の機能に焦点を絞ることができます。

特定の機能のコストに焦点を当てたその他のビューについては、 機能別コストビュー をご覧ください。

ビュー

コンピューティングリソース

説明

スキーマ

METERING_DAILY_HISTORY

ウェアハウス

サーバーレス

クラウドサービス

Openflowランタイム

すべてのコンピュートリソース(ウェアハウス、サーバーレス、クラウドサービス、Openflow)で指定した日に消費されたクレジットです。

特定の日にクラウドサービスのコンピューティングコストが実際に請求されたかどうかを判断するために使用できます(つまり、クラウドサービスのクレジット消費量がウェアハウスの消費量の10%超)。

ORGANIZATION_USAGE ACCOUNT_USAGE

METERING_HISTORY

ウェアハウス

サーバーレス

クラウドサービス

Openflowランタイム

ウェアハウス、クラウドサービス、サーバーレス、Openflowの各機能で消費されたクレジットを時間単位で表示します。個々のウェアハウスが消費しているクレジット数を確認するには、 WAREHOUSE_METERING_HISTORY ビューをクエリします。

ACCOUNT_USAGE

USAGE_IN_CURRENCY_DAILY

ウェアハウス

サーバーレス

クラウドサービス

すべてのコンピューティングリソースによる日次のクレジット消費量と、組織の通貨単位による使用コスト。

ORGANIZATION_USAGE

機能別コストビュー

特定の機能の使用状況とコスト情報専用の次のビュー。

ビュー

コンピューティングリソース

説明

APPLICATION_DAILY_USAGE_HISTORY

ウェアハウス

サーバーレス

クラウドサービス

過去365日以内のアカウントにおけるSnowflake Native Appsの1日あたりのクレジットの使用状況。

ARCHIVE_STORAGE_DATA_ RETRIEVAL_USAGE_HISTORY

サーバーレス

ストレージライフサイクルポリシーのためにアーカイブストレージから取得したバイト数。詳細については、 ストレージライフサイクルポリシーの請求 をご参照ください。

AUTOMATIC_CLUSTERING_HISTORY

サーバーレス

自動クラスタリングによって消費されたクレジット。

CATALOG_LINKED_DATABASE_ USAGE_HISTORY

サーバーレス

Credits consumed by catalog-linked databases.

CORTEX_ANALYST_ USAGE_HISTORY

サーバーレス

Cortex Analystによって消費されたクレジット。

CORTEX_FINE_TUNING_ USAGE_HISTORY

サーバーレス

Cortex Fine-tuningのために消費されるクレジット。

CORTEX_FUNCTIONS_ QUERY_USAGE_HISTORY

サーバーレス

Cortex LLM 関数を使用するクエリの実行に消費されるクレジット。

CORTEX_FUNCTIONS_ DOCUMENT_PROCESSING_USAGE_HISTORY

サーバーレス

Document AIでドキュメントの処理に消費されたクレジット。

CORTEX_FUNCTIONS_ USAGE_HISTORY

サーバーレス

Cortex LLM 関数を呼び出すために消費されるクレジット。

CORTEX_REST_API_ USAGE_HISTORY

サーバーレス

Credits consumed by Cortex REST API calls.

CORTEX_SEARCH_DAILY_ USAGE_HISTORY

サーバーレス

Cortex Searchのサービスとテキストエンベッディングのために消費される毎日のクレジット

CORTEX_SEARCH_SERVING_ USAGE_HISTORY

サーバーレス

Cortex Searchサービスのために消費されるクレジット。

DATA_QUALITY_MONITORING_ USAGE_HISTORY

サーバーレス

スケジュールされたDMFsを呼び出し、結果をイベントテーブルに取り込むために消費されるクレジット。

DATABASE_REPLICATION_USAGE_ HISTORY

サーバーレス

データベース複製で消費されるクレジット。

DOCUMENT_AI_ USAGE_HISTORY

サーバーレス

Document AI のために消費されるクレジット。

HYBRID_TABLE_USAGE_HISTORY

サーバーレス

ハイブリッドテーブルのリクエストリソースに消費されたクレジット。

LISTING_AUTO_FULFILLMENT_ REFRESH_DAILY

ウェアハウス

クロスクラウド自動複製で他のリージョンに複製されたデータを更新するために使用されたクレジット。

LISTING_AUTO_FULFILLMENT_ USAGE_HISTORY

ウェアハウス

クロスクラウド自動複製の使用によるデータ製品の他のリージョンへのフルフィルメントに関連する推定使用量。REPLICATION の SERVICE_TYPE をご参照ください。

MATERIALIZED_VIEW_REFRESH_ HISTORY

サーバーレス

マテリアライズドビューの更新に消費されるクレジット。

OPENFLOW_USAGE_HISTORY

Openflow

Openflowランタイムで消費されたクレジット。このビューはACCOUNT_USAGEスキーマでのみ表示されます。

PIPE_USAGE_HISTORY

サーバーレス

Snowpipeによって消費されたクレジット。

QUERY_ACCELERATION_HISTORY

サーバーレス

クエリアクセラレーションサービスによって消費されたクレジット。

QUERY_ATTRIBUTION_HISTORY

ウェアハウス

ウェアハウス使用で クエリごとに 消費されるクレジット。

REPLICATION_USAGE_HISTORY

サーバーレス

データベース複製中に消費されたクレジットと転送されたバイト数。可能な場合は、代わりに DATABASE_REPLICATION_USAGE_HISTORY ビュー を使用します。

REPLICATION_GROUP_USAGE_ HISTORY

サーバーレス

特定の複製グループの複製中に消費されたクレジットと転送されたバイト数。

SEARCH_OPTIMIZATION_HISTORY

サーバーレス

検索最適化サービスによって消費されたクレジット。

SERVERLESS_ALERT_HISTORY

サーバーレス

サーバーレスアラートによって消費されたクレジット。

SERVERLESS_TASK_HISTORY

サーバーレス

サーバーレスタスクによって消費されたクレジット。

SNOWPIPE_STREAMING_FILE_ MIGRATION_HISTORY

サーバーレス

Snowpipeストリーミングコンピューティングによって消費されるクレジット(クライアントコストは含まれません)。

WAREHOUSE_METERING_HISTORY

ウェアハウス

クラウドサービス

ウェアハウスの使用に関連するクラウドサービスのコストを含む、各ウェアハウスの時間単位のクレジット使用状況。

注釈

Snowflake Information Schema のビューとテーブル関数も、コストに関連する使用状況データを提供します。ACCOUNT_USAGE スキーマを推奨しますが、状況によってはInformation Schemaの方が高速になる場合があります。

クエリ例

次のクエリは、 ACCOUNT_USAGE ビューのデータをドリルダウンして、コンピューティングコストに対する洞察を得るようにします。

注釈

Account Usageスキーマのビューに対して実行するクエリは、組織の使用状況スキーマで対応するビューを使用して、組織全体のコストに対する洞察を得るように変更できます。たとえば、どちらのスキーマにも WAREHOUSE_METERING_HISTORY ビューが含まれています。

SQL の包括的な例を表示するには、以下のクエリの名前をクリックします。

ウェアハウスのコンピューティング:
クラウドサービスのコンピューティング:
自動クラスタリングのコンピューティング:
検索最適化のコンピューティング:
マテリアライズドビューのコンピューティング:
Query Acceleration Serviceの計算:
Snowpipeのコンピューティング:
Snowpipe Streamingのコンピューティングおよびクライアントコスト:
サーバーレスアラートのコンピューティング:
サーバーレスタスクのコンピューティング:
複製のコンピューティング:
パートナーツールのコンピューティング:
ハイブリッドテーブルのコンピューティング:
Cortex Analyst の計算:
Cortex Fine-tuningの計算:
Cortex関数の計算:
Cortex Searchの計算:
Document AI の計算:
Snowflake Notebooks の計算:

ウェアハウスのコンピューティング

クエリ: 過去m日間における時間ごとのSnowflakeの平均支出(全ウェアハウスにわたる)

このクエリは、過去m日間の消費傾向(ピーク、谷)を理解するのに役立つように、毎時の総クレジット消費を示します。これは、消費量が急増する時間帯を特定するのに役立ちます。

SELECT start_time,
  warehouse_name,
  credits_used_compute
FROM snowflake.account_usage.warehouse_metering_history
WHERE start_time >= DATEADD(day, -m, CURRENT_TIMESTAMP())
  AND warehouse_id > 0  -- Skip pseudo-VWs such as "CLOUD_SERVICES_ONLY"
ORDER BY 1 DESC, 2;

-- by hour
SELECT DATE_PART('HOUR', start_time) AS start_hour,
  warehouse_name,
  AVG(credits_used_compute) AS credits_used_compute_avg
FROM snowflake.account_usage.warehouse_metering_history
WHERE start_time >= DATEADD(day, -m, CURRENT_TIMESTAMP())
  AND warehouse_id > 0  -- Skip pseudo-VWs such as "CLOUD_SERVICES_ONLY"
GROUP BY 1, 2
ORDER BY 1, 2;
Copy
クエリ: 特定の期間におけるウェアハウスごとのクレジット消費

このクエリは、特定の期間における各ウェアハウスのクレジット消費の合計を示します。これにより、他のウェアハウスよりも多くのクレジットを消費しているウェアハウスや、予想よりも多くのクレジットを消費している特定のウェアハウスを識別できます。

-- Credits used (all time = past year)
SELECT warehouse_name,
  SUM(credits_used_compute) AS credits_used_compute_sum
FROM snowflake.account_usage.warehouse_metering_history
GROUP BY 1
ORDER BY 2 DESC;

-- Credits used (past N days/weeks/months)
SELECT warehouse_name,
  SUM(credits_used_compute) AS credits_used_compute_sum
FROM snowflake.account_usage.warehouse_metering_history
WHERE start_time >= DATEADD(day, -m, CURRENT_TIMESTAMP())
GROUP BY 1
ORDER BY 2 DESC;
Copy
クエリ: m日間におけるウェアハウスの平均使用状況

このクエリは、週およびウェアハウスごとにグループ化された日次の平均クレジット消費を返します。これは、過去1年からの週にわたるウェアハウスのクレジット消費の異常を特定するために使用できます。

WITH cte_date_wh AS (
  SELECT TO_DATE(start_time) AS start_date,
    warehouse_name,
    SUM(credits_used) AS credits_used_date_wh
  FROM snowflake.account_usage.warehouse_metering_history
  GROUP BY start_date, warehouse_name
)

SELECT start_date,
  warehouse_name,
  credits_used_date_wh,
  AVG(credits_used_date_wh) OVER (PARTITION BY warehouse_name ORDER BY start_date ROWS m PRECEDING) AS credits_used_m_day_avg,
  100.0*((credits_used_date_wh / credits_used_m_day_avg) - 1) AS pct_over_to_m_day_average
FROM cte_date_wh
  QUALIFY credits_used_date_wh > 100  -- Minimum N=100 credits
    AND pct_over_to_m_day_average >= 0.5  -- Minimum 50% increase over past m day average
ORDER BY pct_over_to_m_day_average DESC;
Copy

クラウドサービスのコンピューティング

クエリ: 請求済みクラウドサービス

クラウドサービスの使用量 は、クラウドサービスの日次消費量が仮想ウェアハウスの日次使用量の10%を超えた場合にのみ請求されます。このクエリは、特定の日に実際に請求されたクラウドサービスの使用量を、請求金額の高い順に返します。

SELECT
    usage_date,
    credits_used_cloud_services,
    credits_adjustment_cloud_services,
    credits_used_cloud_services + credits_adjustment_cloud_services AS billed_cloud_services
FROM snowflake.account_usage.metering_daily_history
WHERE usage_date >= DATEADD(month,-1,CURRENT_TIMESTAMP())
    AND credits_used_cloud_services > 0
ORDER BY 4 DESC;
Copy
クエリ: クエリの種類ごとのクラウドサービスの合計コスト

このクエリは、特定の種類のクエリによってクラウドサービスで消費されたクレジットの合計を返します。

SELECT query_type,
  SUM(credits_used_cloud_services) AS cs_credits,
  COUNT(1) num_queries
FROM snowflake.account_usage.query_history
WHERE true
  AND start_time >= TIMESTAMPADD(day, -1, CURRENT_TIMESTAMP)
GROUP BY 1
ORDER BY 2 DESC
LIMIT 10;
Copy
クエリ: 特定の種類のクエリに対するクラウドサービスのコスト

このクエリは、特定のタイプのすべてのクエリによってクラウドサービスで消費されたクレジットの合計を返します。別の種類のクエリに焦点を当てたい場合は 'COPY' を置き換え、より長いまたは短い期間を調べたい場合は day を置き換えます。

SELECT *
FROM snowflake.account_usage.query_history
WHERE true
  AND start_time >= TIMESTAMPADD(day, -1, CURRENT_TIMESTAMP)
  AND query_type = 'COPY'
ORDER BY credits_used_cloud_services DESC
LIMIT 10;
Copy
クエリ: クラウドサービスの使用率が高いウェアハウス

このクエリは、コンピューティングのクラウドサービス部分をカバーするために、十分なウェアハウス時間が使用されていないウェアハウスを示します。これは、クラウドサービスの使用率が高い(全体のクレジットの10%超)ウェアハウスを分離することにより、追加の調査の出発点を提示します。調査の候補には、クローニング、S3内のファイルのリスト、パートナーツール、セッションパラメーターの設定などに関する問題が含まれます。

SELECT
  warehouse_name,
  SUM(credits_used) AS credits_used,
  SUM(credits_used_cloud_services) AS credits_used_cloud_services,
  SUM(credits_used_cloud_services)/SUM(credits_used) AS percent_cloud_services
FROM snowflake.account_usage.warehouse_metering_history
WHERE TO_DATE(start_time) >= DATEADD(month,-1,CURRENT_TIMESTAMP())
    AND credits_used_cloud_services > 0
GROUP BY 1
ORDER BY 4 DESC;
Copy
クエリ: クエリ時間の割合で並べ替えられたクラウドサービスの使用状況

このクエリは、過去1分間に実行されたすべてのクエリを返し、クエリの合計実行時間(コンパイル時間対キュー時間など)の割合で並べ替えます。

SELECT *
FROM snowflake.account_usage.query_history
WHERE true
  AND start_time >= TIMESTAMPADD(minute, -60, CURRENT_TIMESTAMP)
ORDER BY compilation_time DESC,
  execution_time DESC,
  list_external_files_time DESC,
  queued_overload_time DESC,
  credits_used_cloud_services DESC
LIMIT 10;
Copy

自動クラスタリングのコンピューティング

クエリ: 自動クラスタリングのコスト履歴(日別、オブジェクト別)

このクエリは、自動クラスタリングを使用したテーブルのリストと、過去30日間にサービスを介して消費したクレジット量を日別に表示します。クレジットの消費に不規則性があるか、一貫して消費量が多い場合は、さらに調査する必要があることを表します。

SELECT TO_DATE(start_time) AS date,
  database_name,
  schema_name,
  table_name,
  SUM(credits_used) AS credits_used
FROM snowflake.account_usage.automatic_clustering_history
WHERE start_time >= DATEADD(month,-1,CURRENT_TIMESTAMP())
GROUP BY 1,2,3,4
ORDER BY 5 DESC;
Copy
クエリ: 自動クラスタリング履歴およびm日平均

このクエリは、自動クラスタリングによって消費された日次の平均クレジットを、前年の週ごとにグループ化して表示します。1年間の日次平均の異常を特定するのに役立ちます。これにより、消費の急増や予期しない変化をさらに調査することができます。

WITH credits_by_day AS (
  SELECT TO_DATE(start_time) AS date,
    SUM(credits_used) AS credits_used
  FROM snowflake.account_usage.automatic_clustering_history
  WHERE start_time >= DATEADD(year,-1,CURRENT_TIMESTAMP())
  GROUP BY 1
  ORDER BY 2 DESC
)

SELECT DATE_TRUNC('week',date),
      AVG(credits_used) AS avg_daily_credits
FROM credits_by_day
GROUP BY 1
ORDER BY 1;
Copy

検索最適化のコンピューティング

クエリ: 検索最適化のコスト履歴(日別、オブジェクト別)

このクエリは、検索最適化を使用したテーブルの包括的リストと、過去30日間にサービスを介して消費したクレジット量を日別に表示します。クレジットの消費に不規則性があるか、一貫して消費量が多い場合は、さらに調査する必要があることを表します。

SELECT TO_DATE(start_time) AS date,
  database_name,
  schema_name,
  table_name,
  SUM(credits_used) AS credits_used
FROM snowflake.account_usage.search_optimization_history
WHERE start_time >= DATEADD(month,-1,CURRENT_TIMESTAMP())
GROUP BY 1,2,3,4
ORDER BY 5 DESC;
Copy
クエリ: 検索最適化履歴およびm日平均

このクエリは、検索最適化によって消費された日次の平均クレジットを、前年の週ごとにグループ化して表示します。1年間の日次平均の異常を特定するのに役立ちます。これにより、消費の急増や予期しない変化をさらに調査することができます。

WITH credits_by_day AS (
  SELECT TO_DATE(start_time) AS date,
    SUM(credits_used) AS credits_used
  FROM snowflake.account_usage.search_optimization_history
  WHERE start_time >= DATEADD(year,-1,CURRENT_TIMESTAMP())
  GROUP BY 1
  ORDER BY 2 DESC
)

SELECT DATE_TRUNC('week', date),
  AVG(credits_used) as avg_daily_credits
FROM credits_by_day
GROUP BY 1
ORDER BY 1;
Copy

マテリアライズドビューのコンピューティング

クエリ: マテリアライズドビューのコスト履歴(日別、オブジェクト別)

このクエリは、マテリアライズドビューの包括的リストと、過去30日間にサービスを介して消費したクレジット量を日別に表示します。クレジットの消費に不規則性があるか、一貫して消費量が多い場合は、さらに調査する必要があることを表します。

SELECT TO_DATE(start_time) AS date,
  database_name,
  schema_name,
  table_name,
  SUM(credits_used) AS credits_used
FROM snowflake.account_usage.materialized_view_refresh_history
WHERE start_time >= DATEADD(month,-1,CURRENT_TIMESTAMP())
GROUP BY 1,2,3,4
ORDER BY 5 DESC;
Copy
クエリ: マテリアライズドビュー履歴およびm日平均

このクエリは、マテリアライズドビューによって消費された日次の平均クレジットを、前年の週別にグループ化して表示します。1年間の日次平均の異常を特定するのに役立ちます。これにより、消費の急増や予期しない変化をさらに調査することができます。

WITH credits_by_day AS (
  SELECT TO_DATE(start_time) AS date,
    SUM(credits_used) AS credits_used
  FROM snowflake.account_usage.materialized_view_refresh_history
  WHERE start_time >= DATEADD(year,-1,CURRENT_TIMESTAMP())
  GROUP BY 1
  ORDER BY 2 DESC
)

SELECT DATE_TRUNC('week',date),
  AVG(credits_used) AS avg_daily_credits
FROM credits_by_day
GROUP BY 1
ORDER BY 1;
Copy

Query Acceleration Serviceの計算

クエリ: ウェアハウス別のQuery Acceleration Serviceのコスト

このクエリは、アカウント内の各ウェアハウスが、Query Acceleration Serviceに使用するクレジットの合計数を返します(月度累計)。

SELECT warehouse_name,
       SUM(credits_used) AS total_credits_used
  FROM SNOWFLAKE.ACCOUNT_USAGE.QUERY_ACCELERATION_HISTORY
  WHERE start_time >= DATE_TRUNC(month, CURRENT_DATE)
  GROUP BY 1
  ORDER BY 2 DESC;
Copy

SnowpipeおよびSnowpipe Streamingのコンピューティング

クエリ: データインジェストの累積使用状況(Snowpipeおよび「コピー」)

このクエリは、ファイルの平均サイズ、合計行数、合計量、インジェスト方法(コピーまたはSnowpipe)を表示する、Snowflakeにある各テーブルの全ロードに対する日次集計の概要を返します。ファイルサイズが小さすぎたり大きすぎたりして最適なインジェストができない場合は、追加の調査/最適化が必要になる場合があります。ボリュームをクレジット消費にマッピングすると、ロードされた TB あたりのクレジットをより多く消費しているテーブルを特定できます。

SELECT TO_DATE(last_load_time) AS load_date,
  status,
  table_catalog_name AS database_name,
  table_schema_name AS schema_name,
  table_name,
  CASE
    WHEN pipe_name IS NULL THEN 'COPY'
    ELSE 'SNOWPIPE'
  END AS ingest_method,
  SUM(row_count) AS row_count,
  SUM(row_parsed) AS rows_parsed,
  AVG(file_size) AS avg_file_size_bytes,
  SUM(file_size) AS total_file_size_bytes,
  SUM(file_size)/POWER(1024,1) AS total_file_size_kb,
  SUM(file_size)/POWER(1024,2) AS total_file_size_mb,
  SUM(file_size)/POWER(1024,3) AS total_file_size_gb,
  SUM(file_size)/POWER(1024,4) AS total_file_size_tb
FROM snowflake.account_usage.copy_history
GROUP BY 1,2,3,4,5,6
ORDER BY 3,4,5,1,2;
Copy
クエリ:Snowpipeのコスト履歴(日別、オブジェクト別)

このクエリは、パイプの包括的リストと、過去30日間にサービスを介して消費したクレジット量を日別に表示します。クレジットの消費に不規則性があるか、一貫して消費量が多い場合は、さらに調査する必要があることを表します。

SELECT TO_DATE(start_time) AS date,
  pipe_name,
  SUM(credits_used) AS credits_used
FROM snowflake.account_usage.pipe_usage_history
WHERE start_time >= DATEADD(month,-1,CURRENT_TIMESTAMP())
GROUP BY 1,2
ORDER BY 3 DESC;
Copy
クエリ:Snowpipe履歴およびm日平均

このクエリは、Snowpipeによって消費された1日の平均クレジットを、前年の週ごとにグループ化して表示します。1年間の日次平均の異常を特定するのに役立ちます。これにより、消費の急増や予期しない変化をさらに調査することができます。

WITH credits_by_day AS (
  SELECT TO_DATE(start_time) AS date,
    SUM(credits_used) AS credits_used
  FROM snowflake.account_usage.pipe_usage_history
  WHERE start_time >= DATEADD(year,-1,CURRENT_TIMESTAMP())
  GROUP BY 1
  ORDER BY 2 DESC
)

SELECT DATE_TRUNC('week',date),
  AVG(credits_used) AS avg_daily_credits
FROM credits_by_day
GROUP BY 1
ORDER BY 1;
Copy
クエリ:Snowpipe Streamingの総コスト

このクエリは、Snowpipe Streamingのコンピューティングコストとクライアントコストの両方を含む、Snowpipe Streamingの現在のクレジット使用状況をリストします。

SELECT start_time,
  end_time,
  SUM(credits_used) AS total_credits,
  name,
  IFF(CONTAINS(name,':'),'streaming client cost', 'streaming compute cost') AS streaming_cost_type
FROM SNOWFLAKE.ACCOUNT_USAGE.METERING_HISTORY
WHERE service_type ='SNOWPIPE_STREAMING'
GROUP BY ALL;
Copy

サーバーレスアラートのコンピューティング

クエリ: サーバーレスアラートの総コスト

このクエリは、すべてのサーバーレスアラートの現在のクレジットの使用状況をリストアップします。

SELECT
    start_time,
    end_time,
    alert_id,
    alert_name,
    credits_used,
    schema_id,
    schema_name,
    database_id,
    database_name
  FROM SNOWFLAKE.ACCOUNT_USAGE.serverless_alert_history
  ORDER BY start_time, alert_id;
Copy

サーバーレスタスクのコンピューティング

クエリ: サーバーレスタスクの総コスト

このクエリは、すべてのサーバーレスタスクの現在におけるクレジット使用状況をリストします。

SELECT start_time,
  end_time,
  task_id,
  task_name,
  credits_used,
  schema_id,
  schema_name,
  database_id,
  database_name
FROM snowflake.account_usage.serverless_task_history
ORDER BY start_time, task_id;
Copy

複製のコンピューティング

クエリ: アカウント複製のコスト

このクエリは、当月にアカウント複製のために複製またはフェールオーバーグループによって使用されたクレジットをリストします。

SELECT start_time, 
  end_time, 
  replication_group_name, 
  credits_used, 
  bytes_transferred
FROM snowflake.account_usage.replication_group_usage_history
WHERE start_time >= DATE_TRUNC('month', CURRENT_DATE());
Copy
クエリ: データベース複製のコスト履歴(日別、オブジェクト別)

このクエリは、複製されたデータベースの包括的リストと、過去30日間に複製サービスを介して消費したクレジット量を日別に表示します。クレジットの消費に不規則性があるか、一貫して消費量が多い場合は、さらに調査する必要があることを表します。

SELECT TO_DATE(start_time) AS date,
  database_name,
  SUM(credits_used) AS credits_used
FROM snowflake.account_usage.database_replication_usage_history
WHERE start_time >= DATEADD(month,-1,CURRENT_TIMESTAMP())
GROUP BY 1,2
ORDER BY 3 DESC;
Copy
クエリ: データベース複製の履歴およびm日平均

このクエリは、複製によって消費された1日の平均クレジットを、前年の週ごとにグループ化して表示します。これは、日次平均の異常を特定して、消費量の急増や変化を調査するために役立ちます。

WITH credits_by_day AS (
  SELECT TO_DATE(start_time) AS date,
    SUM(credits_used) AS credits_used
  FROM snowflake.account_usage.database_replication_usage_history
  WHERE start_time >= DATEADD(year,-1,CURRENT_TIMESTAMP())
  GROUP BY 1
  ORDER BY 2 DESC
)

SELECT DATE_TRUNC('week',date),
  AVG(credits_used) AS avg_daily_credits
FROM credits_by_day
GROUP BY 1
ORDER BY 1;
Copy

パートナーツールのコンピューティング

クエリ: パートナーツールによるクレジット消費

このクエリは、どのSnowflakeのパートナーツール/ソリューション(例: BI、 ETL)が最も多くのクレジットを消費しているかを特定します。これは、予想よりも多くのクレジットを消費しているパートナーソリューションを特定するのに役立ちます。これは、追加の調査の出発点となる可能性があります。

-- This Is Approximate Credit Consumption By Client Application
WITH
  client_hour_execution_cte AS (
    SELECT
      CASE
        WHEN client_application_id LIKE 'Go %' THEN 'Go'
        WHEN client_application_id LIKE 'Snowflake UI %' THEN 'Snowflake UI'
        WHEN client_application_id LIKE 'Snowflake CLI %' THEN 'Snowflake CLI'
        WHEN client_application_id LIKE 'SnowSQL %' THEN 'SnowSQL'
        WHEN client_application_id LIKE 'JDBC %' THEN 'JDBC'
        WHEN client_application_id LIKE 'PythonConnector %' THEN 'Python'
        WHEN client_application_id LIKE 'ODBC %' THEN 'ODBC'
        ELSE 'NOT YET MAPPED: ' || CLIENT_APPLICATION_ID
      END AS client_application_name,
      warehouse_name,
      DATE_TRUNC('hour',start_time) AS start_time_hour,
      SUM(execution_time)  AS client_hour_execution_time
    FROM snowflake.account_usage.query_history qh
      JOIN snowflake.account_usage.sessions se
        ON se.session_id = qh.session_id
    WHERE warehouse_name IS NOT NULL
      AND execution_time > 0
      AND start_time > DATEADD(month,-1,CURRENT_TIMESTAMP())
    GROUP BY 1,2,3
  ),
  hour_execution_cte AS (
    SELECT start_time_hour,
      warehouse_name,
      SUM(client_hour_execution_time) AS hour_execution_time
    FROM client_hour_execution_cte
    GROUP BY 1,2
  ),
  approximate_credits AS (
    SELECT A.client_application_name,
      C.warehouse_name,
      (A.client_hour_execution_time/B.hour_execution_time)*C.credits_used AS approximate_credits_used
    FROM client_hour_execution_cte A
      JOIN hour_execution_cte B
        ON A.start_time_hour = B.start_time_hour and B.warehouse_name = A.warehouse_name
      JOIN snowflake.account_usage.warehouse_metering_history C
        ON C.warehouse_name = A.warehouse_name AND C.start_time = A.start_time_hour
  )

SELECT client_application_name,
  warehouse_name,
  SUM(approximate_credits_used) AS approximate_credits_used
FROM approximate_credits
GROUP BY 1,2
ORDER BY 3 DESC;
Copy

ハイブリッドテーブルのコンピューティング

クエリ: 特定の期間におけるハイブリッドテーブル別のクレジット消費

このクエリは、特定の期間における各ハイブリッドテーブルの合計クレジット消費量を表示します。これにより、他のハイブリッドテーブルよりも多くのクレジットを消費しているハイブリッドテーブルや、予想よりも多くのクレジットを消費している特定のハイブリッドテーブルを識別できます。

-- Credits used (all time = past year)

SELECT object_type,
  SUM(credits_used) AS total_credits
FROM SNOWFLAKE.ACCOUNT_USAGE.HYBRID_TABLE_USAGE_HISTORY
GROUP BY 1;

-- Credits used (past N days/weeks/months)

SELECT object_type,
  SUM(credits_used) AS total_credits
FROM SNOWFLAKE.ACCOUNT_USAGE.HYBRID_TABLE_USAGE_HISTORY
WHERE start_time >= DATEADD(day, -5, CURRENT_TIMESTAMP()) 
GROUP BY 1;
Copy

Cortex Analyst の計算

クエリ: Cortex Analyst 別のクレジット消費量。

このクエリは、 Cortex Analyst のクレジット消費量を示します。

SELECT *
  FROM SNOWFLAKE.ACCOUNT_USAGE.CORTEX_ANALYST_USAGE_HISTORY;
Copy

Cortex Fine-tuningの計算

クエリ:Cortex Fine-tuningによるクレジット消費量。

このクエリは、各Cortex Fine-tuningのトレーニングクレジット消費量を1時間単位で集計して表示します。

SELECT *
  FROM SNOWFLAKE.ACCOUNT_USAGE.CORTEX_FINE_TUNING_USAGE_HISTORY;
Copy

Cortex関数の計算

クエリ:Cortex関数によるクレジット消費量。

このクエリは、各Cortex関数呼び出しのクレジット消費量を、関数とモデルに基づいて1時間単位で集計して表示します。

SELECT *
  FROM SNOWFLAKE.ACCOUNT_USAGE.CORTEX_FUNCTIONS_USAGE_HISTORY;
Copy
クエリ: mistral-large モデルで呼び出されたCortex関数によるクレジット消費量。

このクエリは、 mistral-large モデルで呼び出された各Cortex関数のクレジット消費量を、関数とモデルに基づいて1時間単位で集計して表示します。

SELECT *
  FROM SNOWFLAKE.ACCOUNT_USAGE.CORTEX_FUNCTIONS_USAGE_HISTORY
  WHERE model_name = 'mistral-large';
Copy
クエリ:Cortex関数クエリによるクレジット消費量。

このクエリは、関数とモデルに基づいて1時間単位で集計された、各Cortex関数クエリのクレジット消費量を示します。

SELECT *
  FROM SNOWFLAKE.ACCOUNT_USAGE.CORTEX_FUNCTIONS_QUERY_USAGE_HISTORY
  WHERE query_id = 'query-id';
Copy

Compute for Cortex REST API

Query: Credit consumption by Cortex REST API.

This query shows the credit consumption for Cortex REST API calls, including the number of tokens processed and the model used for each request.

SELECT *
  FROM SNOWFLAKE.ACCOUNT_USAGE.CORTEX_REST_API_USAGE_HISTORY;
Copy

Document AI の計算

クエリ: Document AI 別のクレジット消費量。

このクエリは、 Document AI のクレジット消費量を示します。

SELECT *
  FROM SNOWFLAKE.ACCOUNT_USAGE.DOCUMENT_AI_USAGE_HISTORY;
Copy
クエリ: Document AI クエリごとのクレジット消費量。

このクエリは、CREDITS_USEDが0.072より大きい記録をCORTEX_DOCUMENT_PROCESSING_USAGE_HISTORYビューから取得します。

SELECT *
  FROM SNOWFLAKE.ACCOUNT_USAGE.CORTEX_DOCUMENT_PROCESSING_USAGE_HISTORY
  WHERE CREDITS_USED > 0.072
Copy

Snowflake Notebooks の計算

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

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

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