コンピューティングコストの調査¶
コンピューティングコスト合計は、次の全体的な使用で構成されます。
仮想ウェアハウス(ユーザー管理のコンピューティングリソース)
Snowflakeが管理するコンピューティングリソースを使用する、自動クラスタリングやSnowpipeなどのサーバーレス機能
Snowflakeアーキテクチャのクラウドサービスレイヤー
オープンフロー BYOC コストとスケーリングの考慮事項 および Openflow Snowflake 展開コストとスケーリングに関する考慮事項 の vCPU 使用状況。ランタイムを含むOpenflowコンポーネントの詳細については、Openflowコンポーネント をご参照ください。
このトピックでは、 Snowsight を使用するか、 ACCOUNT_USAGE および ORGANIZATION_USAGE スキーマのビューに対するクエリを記述することによって、コンピューティングコスト履歴に対する洞察を得る方法について説明します。Snowsight を使用すると、視覚的なダッシュボードからコストに関する情報をすばやく簡単に取得できます。使用状況ビューに対するクエリを使用すると、コストデータをドリルダウンできるようになり、カスタムレポートとダッシュボードの生成に役立てることができます。
コンピューティングコストがどのように発生するかに関する詳細については、 コンピューティングコストについて をご参照ください。
注釈
クラウドサービスレイヤーはクレジットを消費しますが、これらのクレジットのすべてが実際に請求されるわけではありません。クラウドサービスの使用量は、クラウドサービスの1日の使用量が仮想ウェアハウスの1日の使用量の10%を超えた場合にのみ課金されます。Snowsight と大多数のビューは、このクラウドサービスへの日々の調整を考慮せずに、ウェアハウス、サーバーレス機能、クラウドサービスによって消費されたクレジットの合計数を表示します。
コンピュートコストとして実際に請求されたクレジットの数を調べるには、 METERING_DAILY_HISTORYビュー に対してクエリを実行します。
クレジット使用状況の表示¶
すべてのコンピューティングリソース(仮想ウェアハウス、サーバーレス、クラウドサービス)は、Snowflakeクレジットを消費します。ユーザーは、 Snowsight を使用して、特定の日、週、または月のコンピューティング使用状況の総コストを表示できます。
コンピューティングコストを調査するには、次を実行します。
Snowsight にサインインします。
コストと使用状況のデータへのアクセス権 を持つロールに切り替えます。
ナビゲーションメニューで Admin » Cost management を選択します。
使用状況データを表示するために使用するウェアハウスを選択します。Snowflakeは、この目的のために XS ウェアハウスを使用することをお勧めします。
Consumption を選択します。
使用状況のタイプドロップダウンから Compute を選択します。
Consumption ページに関する使用上の注意については、 使用上の注意 を参照のこと。
タグ別にフィルターする¶
組織内の理論ユニットに使用している リソースのコストを帰属させる ためにタグを使用できます。タグは、Snowflakeオブジェクトで、関連する1つ以上の値を持つことができます。適切な権限を持っているユーザーにより、コストセンターまたは他の理論ユニット(例: 開発環境、事業単位、または業種)が使用する各リソースに、タグと値のペアを適用します。リソースにタグを付けると、特定のタグと値のペアに基づいてコストを分離して、特定の理論ユニットにコストを帰属させることができるようになります。
Consumption ダッシュボードをフィルターして、特定のタグと値の組み合わせに関連したコストを表示するには、
Snowsight にサインインします。
コストと使用状況のデータへのアクセス権 を持つロールに切り替えます。
ナビゲーションメニューで Admin » Cost management を選択します。
使用状況データを表示するために使用するウェアハウスを選択します。Snowflakeは、この目的のために XS ウェアハウスを使用することをお勧めします。
Consumption を選択します。
使用状況のタイプドロップダウンから Compute を選択します。
Tags ドロップダウンから、タグを選択します。
タグの値のリストから値を選択します。
Apply を選択します。
たとえば、ドロップダウンを使用して、 COST_CENTER タグと SALES 値を選択し、 COST_CENTER = SALES のタグがあるリソースに関連した使用状況をそれ以外の使用状況は含めずに表示することができます。
タグのあるすべてのリソースをタグの値に関係なく表示することもできます。ドロップダウンを使用してタグを選択してから、特定の値の代わりに All を選択します。
種類、サービス、リソース別に消費を表示する¶
コンピューティング履歴を表示する棒グラフを表示する場合は、データ By Type、 By Service、または By Resource をフィルターできます。
- タイプ別:
リソースの消費をコンピューティング(仮想ウェアハウスとサーバーレスリソース)とクラウドサービスに分離します。このフィルターの目的のために、クラウドサービスは他のタイプのコンピューティングリソースから分離されます。
- サービス別:
リソースの消費をウェアハウスの消費と各サーバーレス機能による消費に分離します。たとえば、 WAREHOUSE_METERING はウェアハウスによって消費されたクレジットを表し、 PIPE はサーバーレスSnowpipe機能によって消費されたクレジットを表します。クラウドサービスコンピューティングは、ウェアハウスの消費に含まれます。
- リソース別:
クレジットを消費したSnowflakeオブジェクトごとにリソースの消費を分離します。たとえば、サーバーレスコストの発生したすべてのテーブルと同様に、各ウェアハウスが表示されます。
コンピューティングコストのデータのクエリ¶
Snowflakeは、使用状況とコストに関連するデータを含む2つのスキーマ、 ORGANIZATION_USAGE と ACCOUNT_USAGE を提供します。ORGANIZATION_USAGE スキーマは組織内にあるすべてのアカウントのコスト情報を提供しますが、 ACCOUNT_USAGE スキーマは単一のアカウントについて同様の情報を提供します。これらのスキーマでのビューは、カスタムレポートまたはダッシュボードを作成するための、詳細かつ分析に対応した使用状況データを提供します。
ORGANIZATION_USAGE および ACCOUNT_USAGE スキーマのほとんどのビューには、消費された クレジット に関するコンピューティングリソースのコストが含まれています。クレジットではなく通貨単位でコンピューティングコストを調査するには、 USAGE_IN_CURRENCY_DAILY ビュー に対するクエリを記述します。このビューは、クレジットの日次価格を使用して、消費されたクレジットを通貨単位のコストに変換します。
一般コストビュー¶
以下のビューには、すべてのSnowflake機能のコンピューティングコストに関連する情報が含まれています。service_type 列でフィルターをかけることで、特定の機能に焦点を絞ることができます。
特定の機能のコストに焦点を当てたその他のビューについては、 機能別コストビュー をご覧ください。
ビュー |
コンピューティングリソース |
説明 |
スキーマ |
|---|---|---|---|
METERING_DAILY_HISTORY |
ウェアハウス サーバーレス クラウドサービス Openflowランタイム |
すべてのコンピュートリソース(ウェアハウス、サーバーレス、クラウドサービス、Openflow)で指定した日に消費されたクレジットです。 特定の日にクラウドサービスのコンピューティングコストが実際に請求されたかどうかを判断するために使用できます(つまり、クラウドサービスのクレジット消費量がウェアハウスの消費量の10%超)。 |
|
METERING_HISTORY |
ウェアハウス サーバーレス クラウドサービス Openflowランタイム |
ウェアハウス、クラウドサービス、サーバーレス、Openflowの各機能で消費されたクレジットを時間単位で表示します。個々のウェアハウスが消費しているクレジット数を確認するには、 WAREHOUSE_METERING_HISTORY ビューをクエリします。 |
|
ウェアハウス サーバーレス クラウドサービス |
すべてのコンピューティングリソースによる日次のクレジット消費量と、組織の通貨単位による使用コスト。 |
機能別コストビュー¶
特定の機能の使用状況とコスト情報専用の次のビュー。
ビュー |
コンピューティングリソース |
説明 |
|---|---|---|
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;
- クエリ: 特定の期間におけるウェアハウスごとのクレジット消費
このクエリは、特定の期間における各ウェアハウスのクレジット消費の合計を示します。これにより、他のウェアハウスよりも多くのクレジットを消費しているウェアハウスや、予想よりも多くのクレジットを消費している特定のウェアハウスを識別できます。
-- 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;
- クエリ: 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;
クラウドサービスのコンピューティング¶
- クエリ: 請求済みクラウドサービス
クラウドサービスの使用量 は、クラウドサービスの日次消費量が仮想ウェアハウスの日次使用量の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;
- クエリ: クエリの種類ごとのクラウドサービスの合計コスト
このクエリは、特定の種類のクエリによってクラウドサービスで消費されたクレジットの合計を返します。
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'を置き換え、より長いまたは短い期間を調べたい場合は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;
- クエリ: クラウドサービスの使用率が高いウェアハウス
このクエリは、コンピューティングのクラウドサービス部分をカバーするために、十分なウェアハウス時間が使用されていないウェアハウスを示します。これは、クラウドサービスの使用率が高い(全体のクレジットの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;
- クエリ: クエリ時間の割合で並べ替えられたクラウドサービスの使用状況
このクエリは、過去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;
自動クラスタリングのコンピューティング¶
- クエリ: 自動クラスタリングのコスト履歴(日別、オブジェクト別)
このクエリは、自動クラスタリングを使用したテーブルのリストと、過去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;
- クエリ: 自動クラスタリング履歴および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;
検索最適化のコンピューティング¶
- クエリ: 検索最適化のコスト履歴(日別、オブジェクト別)
このクエリは、検索最適化を使用したテーブルの包括的リストと、過去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;
- クエリ: 検索最適化履歴および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;
マテリアライズドビューのコンピューティング¶
- クエリ: マテリアライズドビューのコスト履歴(日別、オブジェクト別)
このクエリは、マテリアライズドビューの包括的リストと、過去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;
- クエリ: マテリアライズドビュー履歴および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;
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;
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;
- クエリ: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;
- クエリ: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;
- クエリ: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;
サーバーレスアラートのコンピューティング¶
- クエリ: サーバーレスアラートの総コスト
このクエリは、すべてのサーバーレスアラートの現在のクレジットの使用状況をリストアップします。
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;
サーバーレスタスクのコンピューティング¶
- クエリ: サーバーレスタスクの総コスト
このクエリは、すべてのサーバーレスタスクの現在におけるクレジット使用状況をリストします。
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;
複製のコンピューティング¶
- クエリ: アカウント複製のコスト
このクエリは、当月にアカウント複製のために複製またはフェールオーバーグループによって使用されたクレジットをリストします。
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());
- クエリ: データベース複製のコスト履歴(日別、オブジェクト別)
このクエリは、複製されたデータベースの包括的リストと、過去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;
- クエリ: データベース複製の履歴および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;
パートナーツールのコンピューティング¶
- クエリ: パートナーツールによるクレジット消費
このクエリは、どの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;
ハイブリッドテーブルのコンピューティング¶
- クエリ: 特定の期間におけるハイブリッドテーブル別のクレジット消費
このクエリは、特定の期間における各ハイブリッドテーブルの合計クレジット消費量を表示します。これにより、他のハイブリッドテーブルよりも多くのクレジットを消費しているハイブリッドテーブルや、予想よりも多くのクレジットを消費している特定のハイブリッドテーブルを識別できます。
-- 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;
Cortex Analyst の計算¶
- クエリ: Cortex Analyst 別のクレジット消費量。
このクエリは、 Cortex Analyst のクレジット消費量を示します。
SELECT * FROM SNOWFLAKE.ACCOUNT_USAGE.CORTEX_ANALYST_USAGE_HISTORY;
Cortex Fine-tuningの計算¶
- クエリ:Cortex Fine-tuningによるクレジット消費量。
このクエリは、各Cortex Fine-tuningのトレーニングクレジット消費量を1時間単位で集計して表示します。
SELECT * FROM SNOWFLAKE.ACCOUNT_USAGE.CORTEX_FINE_TUNING_USAGE_HISTORY;
Cortex関数の計算¶
- クエリ:Cortex関数によるクレジット消費量。
このクエリは、各Cortex関数呼び出しのクレジット消費量を、関数とモデルに基づいて1時間単位で集計して表示します。
SELECT * FROM SNOWFLAKE.ACCOUNT_USAGE.CORTEX_FUNCTIONS_USAGE_HISTORY;
- クエリ:
mistral-largeモデルで呼び出されたCortex関数によるクレジット消費量。 このクエリは、
mistral-largeモデルで呼び出された各Cortex関数のクレジット消費量を、関数とモデルに基づいて1時間単位で集計して表示します。SELECT * FROM SNOWFLAKE.ACCOUNT_USAGE.CORTEX_FUNCTIONS_USAGE_HISTORY WHERE model_name = 'mistral-large';
- クエリ:Cortex関数クエリによるクレジット消費量。
このクエリは、関数とモデルに基づいて1時間単位で集計された、各Cortex関数クエリのクレジット消費量を示します。
SELECT * FROM SNOWFLAKE.ACCOUNT_USAGE.CORTEX_FUNCTIONS_QUERY_USAGE_HISTORY WHERE query_id = 'query-id';
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;
Cortex Searchの計算¶
- クエリ:Cortex Searchによる1日のクレジット消費量。
このクエリは、各Cortex Search Serviceのクレジット消費量を日次で集計したものを示し、サービングトークンとエンベッドテキストトークンの両方の消費量を含みます。
SELECT * FROM SNOWFLAKE.ACCOUNT_USAGE.CORTEX_SEARCH_DAILY_USAGE_HISTORY;
- クエリ:Cortex Searchサービスによるクレジット消費量。
このクエリは、各Cortex Search Serviceのサービングクレジット消費量を1時間単位で集計して表示します。
SELECT * FROM SNOWFLAKE.ACCOUNT_USAGE.CORTEX_SEARCH_SERVING_USAGE_HISTORY;
Document AI の計算¶
- クエリ: Document AI 別のクレジット消費量。
このクエリは、 Document AI のクレジット消費量を示します。
SELECT * FROM SNOWFLAKE.ACCOUNT_USAGE.DOCUMENT_AI_USAGE_HISTORY;
- クエリ: 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
Snowflake Notebooks の計算¶
- クエリ: ノートブック別の時間単位のクレジット消費
このクエリは、クレジット使用状況や実行タイムスタンプなど、特定のノートブックのランタイム履歴を取得します。このデータを使用して、ノートブックの実行頻度と実行時間を把握し、時間ごとのクレジット消費のパターンや急増を特定します。
SELECT * FROM snowflake.account_usage.notebooks_container_runtime_history WHERE notebook_name = '<example_nb_name>';
- クエリ:特定のノートブックを実行するためのコスト
このクエリは、特定のノートブックで消費されたクレジットの合計を示します。これを使用して、ノートブックのコストを見積もり、高いコストのノートブックを特定します。
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;
- クエリ:ノートブックあたりのコンピューティングプールコスト
このクエリは、特定のコンピューティングプールで実行されている各ノートブックによって消費されたクレジットの合計を示します。これを使用して、ノートブックごとにコンピューティングの使用状況を分類します。これは、どのノートブックがコンピューティングプールの全体的なコストに最も貢献しているかを特定するのに役立ちます。
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;
- クエリ:特定のノートブックを実行したユーザーを特定する
このクエリは、特定のノートブックを実行したユーザーのリストを返します。これを使用して、使用パターンを理解したり、共有ノートブックのコラボレーターやコンシューマーを特定します。
SELECT DISTINCT user_name FROM snowflake.account_usage.notebooks_container_runtime_history WHERE notebook_name = '<example_nb_name>';