Contents
1️⃣ オンデマンド課金の計算方法と実務シミュレーション
BigQuery のオンデマンド課金は「走査したバイト数」に対してのみ料金が発生します。CPU やメモリに別途課金が入ることはなく、スキャン量さえ把握できれば月額費用を正確に予測できます。本セクションでは計算式の根拠と、実務で使えるシミュレーション例を紹介します。
1.1 計算式の根拠
Google の公式ドキュメントでは「オンデマンドは processed bytes に対して課金される」ことが明記されています(BigQuery Pricing – オンデマンド料金)。2024 年 10 月時点の価格は 1 TB あたり ¥5,000(税抜)です。
計算式
[
\text{Cost (¥)} = \frac{\text{ScannedBytes}}{1\;\text{TB}} \times ¥5,000
]
1.2 実務シミュレーション例
| 月間クエリ件数 | 合計走査量(TB) | 想定月額費用(¥) |
|---|---|---|
| 50 件 | 0.8 | 4,000 |
| 200 件 | 2.5 | 12,500 |
| 1,000 件 | 10 | 50,000 |
シミュレーションの前提
- 平均走査量は 8 GB/件と仮定。実際にはクエリごとの estimated_bytes_processed(EXPLAIN の結果)で正確に測定してください。
シミュレーション手順(サンプルコード)
|
1 2 3 4 5 |
-- クエリの走査バイトを事前確認 EXPLAIN SELECT * FROM `project.dataset.table` WHERE event_date BETWEEN '2024-01-01' AND '2024-01-31'; |
estimated_bytes_processed が 1.2 GB と出た場合、費用は
[
\frac{1.2\;\text{GB}}{1024}\times ¥5,000 \approx ¥5,860
]
このように クエリ単位で事前コストを把握 できれば、予算超過のリスクを大幅に低減できます。
2️⃣ フラットレート(スロット)課金と導入判断ポイント
オンデマンドは変動費ですが、一定量以上クエリが走る組織では「スロット」単位でのフラットレート購入がコスト最適化に有効です。ここではスロット数の見積もり手順と、公式価格を元にした概算例を示します。
2.1 必要スロット数の算出方法
Google が提供するベンチマークは「1 スロットで同時実行クエリが最大約 10 秒」まで処理可能という目安です(BigQuery のコスト見積もりと管理)。以下の式で概算できます。
[
\text{必要スロット数} \approx
\frac{\text{同時実行クエリ数} \times \text{平均処理時間(秒)}}{10}
]
例:ピーク時に 8 クエリが同時実行、平均処理時間 12 秒の場合
[
\frac{8 \times 12}{10}=9.6 \;\rightarrow\; 10\;\text{スロット}
]
2.2 公式価格を使った概算費用(2024 年現在)
Google Cloud Pricing Calculator におけるフラットレートは $0.06 / スロット‑hour です。為替レート 1 USD = 150 JPY と仮定すると、月間(730 時間)あたりの日本円価格は次のようになります。
| スロット数 | 月額費用(¥)※ |
|---|---|
| 10 スロット | 約 ¥657,000 |
| 20 スロット | 約 ¥1,314,000 |
*計算式:$0.06 × 730 h × 150 JPY ≈ ¥6,570 / スロット/月
注意
為替変動やプロモーション割引は適宜公式ページで確認してください。2025 年以降の価格改定情報も同様に公式ドキュメントを参照することが重要です。
2.3 コミット期間別割引(参考)
| コミット期間 | 割引率(目安) |
|---|---|
| 1 ヶ月 | 10 % 前後 |
| 3 ヶ月 | 15 % 前後 |
| 12 ヶ月 | 30 % 前後 |
実際の割引は Google Cloud Console の「予約スロット」画面で提示される金額が正式です。導入時は 最低 1 カ月単位 のコミットから選択でき、短期プロジェクトでもフラットレートを試すことが可能です。
3️⃣ ストレージ料金と自動階層化ルール
BigQuery のストレージは「アクティブ」か「長期保存(Long‑Term Storage)」のどちらかに分類され、データのアクセス頻度に応じて自動的に単価が変わります。本節では公式価格と階層化の仕組みを整理します。
3.1 料金体系(2024 年 10 月時点)
| ストレージ種別 | 単価(¥/GB/月) |
|---|---|
| アクティブストレージ | ¥20(税抜) |
| 長期保存ストレージ | ¥5(税抜) |
根拠:Google の公式料金ページに掲載されています(BigQuery Storage Pricing)。
3.2 自動階層化の基準
| 条件 | 移行先 |
|---|---|
| 最終アクセス日が過去 90 日以内 | アクティブストレージ |
| 最終更新日から 180 日超過 | 長期保存ストレージ |
データは「最終アクセス」か「最終更新」のいずれかが基準となり、手動での階層化設定も可能です。
3.3 コスト削減シミュレーション
- 前提:1 TB のテーブルを月間 5 GB 増分で更新し、過去データはほとんど参照しない。
- 結果:90 日以降に自動で長期保存へ移行するため、年間ストレージ費用は約 70 % 削減(¥20 → ¥5 の差)となります。
4️⃣ コスト管理ベストプラクティスと導入アクション
4.1 予算アラートとモニタリングの設定
- Cloud Billing > 予算とアラートで月間上限(例:¥200,000)を設定。80 % と 100 % に達したらメール通知が届くようにします。
- BigQuery のクエリ履歴レポートと組み合わせ、費用増加要因となるクエリを即座に特定できます。
4.2 クエリ最適化の基本手法
| 手法 | 効果(目安) |
|---|---|
CACHE オプションの活用 (OPTIONS (use_cached_result=true)) |
同一結果の再走査を防止 |
| ユーザーごとの実行時間上限設定(例:30 秒) | 長時間クエリによるスキャン増大抑制 |
| 時間ベースパーティショニング | スキャン量 30 %〜70 % 減少 |
| クラスタリングキーの設定 | フィルタ対象行数 20 % 削減 |
4.3 推奨導入フロー
- データ規模とクエリ頻度を把握し、Google Cloud Pricing Calculator に入力して概算見積もりを取得。
- 主なクエリについて
EXPLAINを実行し、走査バイトを確認。必要に応じてパーティショニングやクラスタリングで最適化。 - 予算アラートとモニタリングダッシュボード(例:Looker Studio)を構築し、コストの可視化と継続的改善サイクルを確立。
5️⃣ まとめ
- オンデマンドは走査バイトのみ課金対象で、計算式はシンプルかつ公式に裏付けられています。
- スロット(フラットレート)購入は一定以上のクエリ量が見込める場合に有効で、必要スロット数は同時実行クエリと平均処理時間から算出できます。
- ストレージはアクセス頻度に応じて自動階層化され、長期保存への移行で大幅なコスト削減が期待できます。
- 予算アラート・クエリ最適化・パーティショニング/クラスタリングを組み合わせたベストプラクティスに従えば、2024 年以降も安定した費用管理が可能です。
次のステップ:自社データと利用パターンを基に上記計算式・シミュレーションを実行し、最適な課金モデル(オンデマンド or フラットレート)を選定してください。公式ドキュメントは随時更新されるため、導入後も定期的に確認することを忘れずに。