Snowpipeコスト¶
Snowpipeのサーバーレスコンピューティングモデルを使用すると、ユーザーは仮想ウェアハウスを管理することなく、あらゆるサイズのロードを開始できます。代わりに、Snowflakeはコンピューティングリソースを提供および管理し、現在のSnowpipeのロードに基づいて容量を自動的に拡大または縮小します。アカウントは、実際のコンピューティングリソースの使用量に基づいて課金されます。顧客が管理する仮想ウェアハウスとは対照的です。仮想ウェアハウスは、アクティブなときにクレジットを消費し、アイドル状態になるか、過剰に使用される可能性があります。
このトピックの内容:
リソースの消費と管理のオーバーヘッド¶
Snowflakeは、Snowpipeがデータファイルをアクティブにキューに入れて処理するため、アカウント内のすべてのパイプに対するロードのリソース消費を、1秒あたり/コアごとの細分性で追跡します。 コアごと とは、計算サーバーの物理的な CPU コアを指します。記録された使用率は、なじみのあるSnowflakeクレジットに変換され、アカウントの請求書に記載されます。
注釈
マルチスレッドクライアントアプリケーションを使用すると、データファイルを並行して送信できます。これにより、追加のサーバーが起動され、データがより短時間でロードされます。ただし、必要となる実際の全体的な計算時間は、シングルスレッドクライアントアプリケーションを使用する場合と同じで、より多くの内部Snowpipeサーバーに分散されるということです。
データファイルのサイズとステージングの頻度に関する決定は、Snowpipeのコストとパフォーマンスに影響します。推奨されるベストプラクティスについては、 連続データロード(Snowpipeなど)とファイルサイズ をご参照ください。
リソースの消費に加えて、オーバーヘッドもSnowpipeに請求される使用コストに含まれます。このオーバーヘッドは、イベント通知または REST API 呼び出しによってデータがロードされるかどうかに関係なく請求されます。このオーバーヘッド料金は、請求明細書にSnowpipe料金として表示されます。
Snowpipeにより消費されたコンピューティング時間あたりのクレジット量を知る方法については、 Snowflakeサービス利用テーブル の「サーバーレス機能クレジットテーブル」をご参照ください。
Snowpipeの料金の見積もり¶
Snowpipeの負荷を区別できる要因の数を考えると、Snowflakeがサンプル価格を提供することは非常に困難です。ファイル形式とサイズ、および COPY ステートメント(変換に使用される SELECT ステートメントを含む)の複雑さはすべて、Snowpipeのロードにかかるリソース消費とファイルオーバーヘッドに影響します。
一般的な負荷のセットを実行して、将来の料金を見積もってみることをお勧めします。
データロードの履歴とコストの表示¶
アカウント管理者(ACCOUNTADMIN ロールを持つユーザー)または MONITOR USAGE グローバル権限が付与されたロールを持つユーザーは、 Snowsight、 Classic Console、または SQL を使用して、指定された日付範囲内でSnowflakeアカウントに請求されるクレジットを表示できます。
アカウントのSnowpipeデータのロードに対して請求されたクレジットを表示するには、
- Snowsight:
Select Admin » Cost Management
- Classic Console:
Account » Billing & Usage をクリックします。
Snowpipeの使用率は、特別なSnowflake提供の SNOWPIPE という名前のウェアハウスとして表示されます。
- SQL:
次のいずれかをクエリします。
PIPE_USAGE_HISTORY テーブル関数(Snowflake Information Schema 内)。
PIPE_USAGE_HISTORY ビュー (Account Usage 内)。
PIPE_USAGE_HISTORY ビューに対して次のクエリを実行できます。
クエリ: 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 ウェアハウスなど、Snowflake提供のウェアハウスのクレジット使用状況を制御することはできません。