BigQuery 料金計算ツールとは?
このツールは、Google Cloud の BigQuery をオンデマンド料金モデルで利用した場合の月額費用を試算します。オンデマンドモデルでは、クエリがスキャンしたデータ量と、保存しているデータの容量に応じて課金されます。大規模な分析ワークロードを実行する前にコストを予測したり、巨大なテーブルを繰り返しスキャンすることで生じる影響を把握したりするのに役立ちます。料金はリージョンによって異なり、Google Cloud により米ドル(USD)で設定されています。お使いのプロジェクトのリージョンに該当する単価を入力してください。
使い方
まず、1クエリあたりの平均スキャンデータ量(TB)、1か月あたりのクエリ実行回数、そしてオンデマンドのクエリ単価(TBあたり)を入力します(多くのリージョンで Google のデフォルトは約 \(\$6.25/\text{TB}\) です)。続いてクエリ無料枠(通常、毎月最初の 1 TB が無料)、アクティブストレージ容量(GB)、ストレージ単価(GB/月あたり)(アクティブストレージで約 \(\$0.02\))を入力してください。本ツールは、課金対象データ量にクエリ単価を掛け、そこにストレージ費用を加算して計算します。
計算式の解説
総スキャン量 = 1クエリあたりのデータ量 × クエリ実行回数。課金対象スキャン量 = 総スキャン量 − 無料枠(0 未満にはなりません)。クエリ費用 = 課金対象スキャン量 × TBあたり単価。ストレージ費用 = ストレージ容量(GB)× GBあたり単価。月額の見積もりは、クエリ費用 + ストレージ費用 です。
$$\text{Total Cost} = \max\!\left(Q \cdot D - F,\; 0\right) \cdot P_q \;+\; S \cdot P_s$$ $$\text{where}\quad \left\{ \begin{aligned} D &= \text{Data Scanned (TB)} \\ Q &= \text{Queries / Month} \\ F &= \text{Free Tier (TB)} \\ P_q &= \text{Query Price (\$/TB)} \\ S &= \text{Storage (GB)} \\ P_s &= \text{Storage Price (\$/GB)} \end{aligned} \right.$$
計算例
1クエリあたり 1 TB をスキャンし、月に 1,000 回クエリを実行、単価が \(\$6.25/\text{TB}\)、無料枠が 1 TB の場合を考えてみましょう。総スキャン量 = 1,000 TB、課金対象 = 999 TB、クエリ費用 = \(999 \times \$6.25 = \$6{,}243.75\)。さらにストレージ 1,000 GB を \(\$0.02/\text{GB}\) で計算すると \(\$20\)。合計は月額 $6,263.75 となります。
BigQuery オンデマンド料金リファレンス
Google BigQuery の オンデマンド モデルは、各クエリがスキャンするデータのボリュームに対して課金され、さらに保存データに対して月ごとの課金があります。以下のレートは、米国マルチリージョンの広く公開されているリスト価格で、USD で表示されています。リージョンによって料金が異なります(たとえば、一部のリージョンでは TB あたりの料金が高い場合があります)。現在の Google Cloud 料金ページとお客様の課金リージョンに対して必ず確認してください。
| コンポーネント | 公開レート(米国) | 備考 |
|---|---|---|
| オンデマンド クエリ料金 | 約 $6.25 / TB スキャン | 処理されたバイト数に基づいて課金され、切り上げされます。クエリごとに最小 10 MB |
| アクティブ ストレージ | 約 $0.02 / GB / 月 | 過去 90 日以内に変更されたテーブルまたはパーティション |
| 長期ストレージ | 約 $0.01 / GB / 月 | 90 日間連続して変更されていないデータ(約 50% 割引) |
| 無料クエリ層 | 1 TB / 月 | 月ごとに処理される最初の 1 TB のクエリ データは無料です |
| 無料ストレージ層 | 10 GB / 月 | 月ごとの最初の 10 GB のストレージは無料です |
コスト計算式では、クエリレートは \(P_q\)($/TB)、ストレージレートは \(P_s\)($/GB)、無料クエリ許容量は \(F\)(TB)、保存ボリュームは \(S\)(GB)にマップされます。データの読み込み、コピー、エクスポートは通常無料ですが、ストリーミング挿入およびその他の一部の操作には、ここでモデル化されていない独自の料金があります。
一般的なワークロード シナリオ全体のコスト
以下の表は、計算式 \(\text{合計} = \max(Q\cdot D - F,\,0)\cdot P_q + S\cdot P_s\) を適用し、クエリ価格を $6.25/TB、無料層を 1 TB、ストレージを 500 GB に固定し、ストレージ価格を $0.02/GB/月(すべての行で $10.00 のストレージ料金)としています。月ごとにスキャンされる合計データは \(Q\cdot D\) です。
| シナリオ | データ / クエリ | クエリ / 月 | スキャン合計 | 課金対象(1 TB 無料後) | クエリ コスト | ストレージ コスト | 月額合計 |
|---|---|---|---|---|---|---|---|
| ライト | 0.1 TB | 200 | 20 TB | 19 TB | $118.75 | $10.00 | $128.75 |
| 中程度 | 1 TB | 1,000 | 1,000 TB | 999 TB | $6,243.75 | $10.00 | $6,253.75 |
| ヘビー | 5 TB | 2,000 | 10,000 TB | 9,999 TB | $62,493.75 | $10.00 | $62,503.75 |
ライト シナリオのクエリ コストは \((200 \times 0.1 - 1) \times 6.25 = 19 \times 6.25 = \$118.75\) として計算され、\(500 \times 0.02 = \$10.00\) のストレージが追加されます。これらの数値は、大量のワークロードの場合、クエリ(スキャン)コストがストレージを大幅に上回ることを明確に示しています。スキャンされるバイト数を制御することが節約の鍵です。
主要な用語の説明
- スキャン / 処理バイト (\(D\))
- クエリが読み取るテーブル データのボリューム(バイト単位で測定され、TB あたり課金されます)。BigQuery は返される行数に関係なく、処理されるバイト数に対して課金します。列を少なく選択すると、読み取られるバイト数が少なくなります。
- 月ごとのクエリ (\(Q\))
- 毎月実行するこのようなクエリの数。スキャンされた合計ボリュームは \(Q \cdot D\) です。クエリ価格 \(P_q\) を適用する前に、無料層 \(F\) がこれから差し引かれます。
- オンデマンド vs. キャパシティ(スロット)
- オンデマンド はスキャンされた TB あたりで課金されます(このカリキュレータのモデル)。キャパシティ料金 は代わりに、スロット と呼ばれるコンピュート ユニットを、定額の時間単位または確約レートで予約し、スキャンされたバイト数からコストを切り離します。これは安定した大量の使用に適しています。
- アクティブ vs. 長期ストレージ
- テーブルまたはパーティションは、過去 90 日以内に変更された間は アクティブ ストレージです(約 $0.02/GB)。90 日間連続して変更されていない場合、パフォーマンスに変化なく 長期 ストレージになり、レートは約半分(約 $0.01/GB)になります。
- 無料層 (\(F\))
- 毎月、BigQuery は 1 TB のクエリ処理と 10 GB のストレージを無料で提供します。計算式では、\(F\) は無料のクエリ許容量で、スキャンされた合計ボリュームから差し引かれ、0 以上に制限されます。
- パーティション化 & クラスタリング
- テーブルを整理して、クエリが関連するセグメントのみを読み取るテクニック。効果的なパーティション化(たとえば、日付による)とクラスタリングは、スキャンされるバイト数である \(D\) を直接削減し、オンデマンド コストを低下させます。
- リージョン
- データセットの地理的な場所。TB あたりのクエリレートと GB あたりのストレージレートはリージョンによって異なります。このツールの \(P_q\) と \(P_s\) は、データが存在するリージョンと一致する必要があります。
よくある質問(FAQ)
実際の請求額と完全に一致しますか? いいえ、あくまで目安です。実際の BigQuery 費用は、リージョン、エディション(オンデマンド vs. 容量制/スロット)、長期ストレージとアクティブストレージの割引、MB 単位への丸めなどによって変動します。
クエリ費用を抑えるには? 必要な列だけを選択(SELECT)し、テーブルをパーティショニング・クラスタリングし、LIMIT でのプレビューには注意し(LIMIT はスキャンするバイト数を減らしません)、実行前にクエリ検証ツールでスキャンされるバイト数を確認しましょう。
無料枠はリセットされますか? オンデマンドの無料分析枠(一般的に 1 TB)は毎月リセットされます。お使いのアカウントに適用されない場合は 0 に設定してください。