データ分析基盤の構築や運用において、コストは常に重要な検討事項です。特に、クラウドDWHは柔軟性が高い反面、使い方によっては予期せぬ費用が発生することも。
そこで注目されているのがSnowflakeですが、「料金体系が複雑で分かりにくい」という声も聞かれます。
本記事では、Snowflakeの費用や内訳、最適化のポイントについて解説します。
目次
そもそもSnowflakeってなに?

Snowflakeとは、アメリカのモンタナ州ボーズマンに本社を置くSnowflake Inc.が提供する従来のDWH(データウェアハウス)の制約を打破するために設計された、クラウドネイティブなSaaS型のデータプラットフォームです。
データを預けて分析できるクラウドサービス
Snowflakeはマルチクラウドであり、AWSやGCP、Azureなど社内に複数のクラウド環境が存在する場合、Snowflakeデータクラウドはそれらのハブとなり、データの一元管理が可能となります。
また、データウェアハウス、データレイク、データエンジニアリングの機能を統合し、柔軟なスケーラビリティと高いパフォーマンスを提供します。
Snowflakeは、データ分析、AI/ML、アプリケーション開発など、幅広いユースケースで活用されています。
Snowflakeの人気の理由とは?
Snowflakeはクラウドネイティブです。コンピュートノードとストレージを分離した設計により、クラウドのメリットを最大限に活かした自由度の高いスケーラビリティを実現しています。
そのため、データ量が増えてもパフォーマンスが落ちにくい、BIツールやPythonなどとの連携が簡単などの理由で人気を獲得しています。
Snowflakeの料金はどうやって決まるの?

Snowflakeの料金はどのように決まるのでしょうか。
ここからは、料金体系とポイントについて詳しく解説します。
使った分だけ支払う「従量課金制」
SnowflakeはAWS等のパブリッククラウドと同じような課金方式を踏襲しています。
つまり、「使った分だけ支払う」スタイルであり、利用料によって料金が変動するのです。
では、「使った分だけ支払う」とはどういうことなのでしょうか。
次項から解説します。
料金を構成する3つのポイント
Snowflakeの料金を構成する要素は下記の3つです。
- データの保存にかかるお金(ストレージ)
- 処理するために使うコンピューターの費用(コンピュート)
- データを外に転送する際に発生する料金(データ転送)
① データの保存にかかるお金(ストレージ)
基本的にデータベースのテーブルとステージの保存容量とされています。
保存容量を表す式は、1ヶ月の平均ストレージ容量(TB)✕ストレージ単価($/TB)です。
また、ここでのストレージ容量はSnowflakeが透過的に実施している圧縮後の容量をさします。
なお、ステージング領域やタイムトラベルなど、特別なストレージもあり、保存方法によっては値段が変わることもあります。
② 処理するために使うコンピューターの費用(コンピュート)
コンピュートの利用料は、クレジットというSnowflakeならではの単位で消費されます。
クレジットは下記のために使用されます。
- 仮想ウェアハウス
- サーバーレス
- クラウドサービス
仮想ウェアハウス
仮想ウェアハウスは、クエリ実行、データロードをはじめとするDML操作の実行に応じてクレジットが消費されます。
サーバーレス
サーバーレス機能では、仮想ウェアハウスの代わりに、Snowflakeが管理するコンピューティングリソースが使用されます。
クラウドサービス
クラウドサービスは、ユーザーリクエスト、ログイン、クエリ表示などを処理するために、Snowflakeのさまざまなコンポーネントすべてを結び付けるサービスを実行する、Snowflakeアーキテクチャのレイヤーです。
③ データを外に転送する際に発生する料金(データ転送)
データ転送とは、データをSnowflakeに取り込む(イングレス)処理と、Snowflakeから外部へ出す(エグレス)処理のことです。
ユーザーがSnowflakeアカウントから、同じクラウドプラットフォームの別リージョンや、異なるクラウドプラットフォームへデータを転送する場合、Snowflakeはデータエグレスに対して転送量に応じた料金を課金します。ただし、同じリージョン内でのデータ転送は無料です。
リージョン外へのデータ転送におけるバイトあたりの料金は、Snowflakeアカウントがホストされている場所によって異なります。
料金プランや支払い方法も選べる

Snowflakeは料金プランや支払い方法について選ぶことが可能です。
詳しく解説します。
「その都度払う」か「まとめて前払い」か選べる
Snowflakeの料金体系には、オンデマンド(従量課金)とリザーブド(前払い)という2つの主要なタイプがあります。
オンデマンドは使用した分だけ料金が発生する従量課金方式で、リザーブドは事前に容量を購入し、その容量を消費していく前払い方式です。
プランによって使える機能がちがう
Snowflakeには下記のようなエディションが複数用意されており、使用が組織の特定の要件に適合するようになっています。
- Standard Edition
Snowflakeのすべての標準機能への完全かつ無制限のアクセスを提供する入門レベル - Enterprise Edition
Standard Edition+追加機能 - Business Critical Edition
非常に機密性の高いデータ、特に HIPAA と HITRUST CSF 規制に準拠する必要がある PHI データを持つ課題をサポートします。 - Virビジネス継続性と災害復旧のサポートが追加tual Private Snowflake(VPS)
Business Critical Editionに加えてビジネス継続性と災害復旧のサポートが追加されます。
初心者でもできる!コストをおさえる3つのコツ

ここからは、Snowflakeのコストを抑える3つのコツについて解説します。
使っていないときは自動で止める設定にしよう
Snowflakeは従量課金制のため、使っていない場合は停止にすることで料金を抑えることが可能です。仮想ウェアハウスの「自動一時停止」設定を活用し、使用していないときの課金を防ぎましょう。
データを整理して、ムダを減らそう
Snowflakeはストレージの容量が料金に影響します。
そのため、不要なテーブルやスキーマを削除したり、古いデータをアーカイブ化することでストレージ費用の節約になります。
いきなり大きなプランを選ばない
仮想ウェアハウスのサイズが料金に影響します。
そのため、はじめから5XLや6XLといった大きいサイズにするのではなく、XSサイズやSサイズといった小さいサイズから始めて負荷に応じて調整するようにしましょう。
Snowflakeの料金って高いの?他と比べてみよう

Snowflakeの料金は高いのでしょうか。
BigQuery やRedshift はクラウドの1サービスであり、Snowflake はSaaS としてのサービスという位置づけです。
このため、Google Cloud やAWS 内のクラウドサービスとの連携が優先されるようなケースでは、BigQuery やRedshift が選定されることもあります。
ここでは、データウェアハウスとしてGoogle Cloud BigQueryやAWS Redshiftの例をあげて比較します。
BigQueryやRedshiftとの違いは?
BigQueryは、ストレージ容量とクエリ実行量に応じた従量課金と、定額前払いメニューを提供しています。
一方、Redshiftは、ノード数と稼働時間に基づく従量課金と定額前払いメニューがあります。
Redshift の場合、BigQuery と異なりノードの展開に時間を要することや、定額メニューの割引率が高いことから、定額前払いメニューが選択されることが多い傾向にあります。
一方、Snowflake の場合は解説したように、ストレージとコンピュートリソースに対して従量課金と定額前払いメニューがあり、リソース使用率に基づいて費用を予測するため、BigQuery のクエリ量などのスループットから費用を予測するのに比べて、予測が容易です。
そのため、Snowflakeは柔軟性が高く、使い方次第で安く済むケースが多いです。
コスパが良いのはどんな場合?
では、Snowflakeのコスパが良いとされるのはどのような場合なのでしょうか。
それは、頻繁にSnowflakeを利用する場合や大量データを扱う場合です。
また、Snowflakeは他ツールと比較して運用の手間が少ないとされているため、人件費削減につながると言えるでしょう。
まとめ
Snowflakeを活用する際は自社で扱うデータ量や使用頻度を加味することが大切です。
また、Snowflakeの導入や活用方法に課題を感じている場合は弊社サービスの「エッジワーク」の活用をご検討ください。エッジワークは、プロ人材をプロジェクト単位で活用できるサービスです。「初期費用ゼロ円」「完全成果報酬型」なので、コストを抑えつつ専門知識を持つ人材を確保できます。
Snowflakeの導入や活用でお困りの方は、まずはお気軽にお問い合わせください。

副業社員・フリーランスなどのスポットワーカーにプロジェクト単位でタスクを依頼・発注できるプロ人材活用サービス