BigQuery料金FAQ
BigQueryのEditions、Autoscaling、Compressed Storageについて率直にお答えします。何が変わったのか、誰が得をするのか、注意すべき点はどこかを解説します。
2023年7月以降のオンデマンド料金の値上げ幅
Editionsの3年コミットによる割引率
Autoscalerが使用するスロットの増分単位
Editionsクエリの最低課金時間(分)
要点まとめ
BigQueryの料金、実際に何が変わったのか
予約やストレージ設定に手を付ける前に押さえておくべき、3つの変化です。
オンデマンドが値上がり
オンデマンドの分析料金は約25%値上がりしました。それでも、短時間でスパイクの多いworkloadsには最適なケースが多く残っています。
定額制がEditionsに移行
月額・年額・Flexスロットは廃止されました。既存のコミットは期間満了まで継続し、その後はAutoscaling付きのEditionsに移行します。
Compressed Storageが登場
論理バイトではなく物理バイトで課金されます。文字列中心のデータでは大きな節約効果が、整数中心のテーブルでは小さめの効果が見込めます。
EditionsとAutoscaling
Editionsは安くなることも、大幅に高くなることもある
Autoscalingの課金対象は、使用したスロットではなく割り当てられたスロットです。100スロット単位でスケールし、スケールダウンには1分かかります。Editionsでは、10秒で終わるクエリでも1分間分のスロット料金が発生します。
大量のデータをスキャンする長時間稼働の安定したworkloadsはEditionsが有利になりやすい一方、短くスパイクの多いクエリは通常オンデマンドの方が安く済みます。実践的な対策は、workloadsをプロジェクトごとに分割し、プロジェクト単位で料金モデルを選ぶことです。
Compressed Storage
論理バイトではなく、物理バイトで支払う
論理ストレージでは、データの非圧縮サイズに基づいて課金されます。Compressed Storageでは、ディスク上の物理バイトに基づき、アクティブは$0.04/GB、長期保存は$0.02/GBで課金されます。GBあたりの単価は高いものの、GB数自体は通常大幅に少なくなります。
APIもクエリの挙動も変わらず、パフォーマンスへの影響もありません。ただし注意点が1つあります。オンデマンドクエリの課金は引き続き非圧縮バイトのスキャン量に基づくため、節約効果が出るのはストレージのみで、コンピュートには及びません。
Frequently asked
questions
新しいEditionsモデルは、従来の定額制より高くなりますか?
workloads次第です。定額制でアイドル状態のスロットがあった場合、EditionsとAutoscalingの組み合わせでコンピュート費用を削減できる可能性があります。Compressed Storageはストレージ側のコストを下げられます。個別の項目ではなく、TCO全体で判断してください。
BigQueryのコミットとは何ですか?GCPのコミットと同じものですか?
別物です。BigQueryのコミットでは、スロット時間あたりの単価が割安になります。3年コミットなら分析コストが約40%割引になります。ストレージ料金は割引対象外です。
オンデマンドをやめる前にPOCを実施すべきですか?
はい。Editionsの挙動、特にAutoscalingの最小割り当てと1分間のスケールダウンによって、思わぬ形でコストが変動することがあります。コミットする前に、代表的なworkloadでPOCを実施してください。
どのworkloadsがEditionsに向き、どれがオンデマンドに向いていますか?
大量のデータをスキャンする長時間稼働の安定したworkloadsはEditionsに最適です。短くスパイクの多いクエリは、Autoscalingが100スロット単位で割り当て、最低1分間分を課金するため、通常はオンデマンドの方が安くなります。
Compressed Storageでコストを節約できるか、どう判断すればよいですか?
圧縮率次第です。文字列中心のデータはよく圧縮されますが、整数中心のデータは圧縮効果が低くなります。選択肢を比較できるクエリをこちらのGitHub gistで公開しています:https://gist.github.com/sayle-doit/264d28dd990c478beb90b90ac3923681
コストへの影響を試算できるツールはありますか?
あります。BigQuery Current Usage Analysis Toolのシートを複製し、記載の手順に従ってください:https://docs.google.com/spreadsheets/d/1Sv6SzATtAyGYID2Wg0qGdcpLfe7YdOsH4dFKHHtS59c/edit
Frequently asked
questions
プロジェクトごとに異なるEditionsを組み合わせて使えますか?
はい。あるプロジェクトはオンデマンド、別のプロジェクトはStandard Edition、さらに別のプロジェクトはEnterpriseで運用できます。workloadsをプロジェクトごとに分割することは、最も効果的な最適化手段のひとつです。
データウェアハウスの再設計やSQLの変更は必要ですか?
SQLはそのまま動作します。Flexスロットを動的に購入するコードがある場合、それは機能しなくなります。Terraformのサポートは対応中のため、当面はignore_changesを使用してください。なお、スロットの総消費量を減らすためのリファクタリングは検討する価値があります。
7月5日より前に定額制のコミットをしていました。その上でEditionsを利用できますか?
はい。定額制のコミットは、契約期間中はコミット価格のままEnterprise Editionに変換されます。ベースラインを超えるスロットは、Enterpriseの標準料金で課金されます。Autoscalerは設定した上限までスケールアップできます。
Compressed Storageと年間の定額制コミットを併用できますか?
いいえ。定額制の予約が存在する場合、GoogleのツールがCompressed Storageの利用を明示的にブロックします。Editionsか、純粋なオンデマンドのプロジェクトが必要です。
オンデマンドでは、圧縮後と非圧縮のどちらのスキャンバイト数で課金されますか?
非圧縮です。オンデマンドのプロジェクトから圧縮データをクエリしても、コンピュートコスト面のメリットはありません。節約効果はストレージのみです。
Compressed Storageに切り替えると、長期保存割引は無効になりますか?
いいえ。長期保存の仕組みは、圧縮データと非圧縮データの両方に引き続き適用されます。
短いクエリでも、Editionsでは本当に1分間分の課金が発生するのですか?
はい。Autoscalerのスケールダウンに1分かかるため、Editionsのクエリには1分間の最低課金が適用されます。10秒のクエリでも1分間分のスロット料金が発生します。
Editionを選ぶ前に、必要なスロット数をどう見積もればよいですか?
Google Cloud ConsoleでMonitoringを開き、Metric Explorerに移動してスロット関連のメトリクスを検索してください。DoiTのお客様は、チケットを起票してBigQueryのスペシャリストと一緒に確認できます。
Autoscalerで支出の上限を設定できますか?
はい。常時使用するスロットのベースラインと、許容できる上限を設定してください。アイドル時間がある場合は、ベースラインを0に設定すれば、使っていない割り当て済みスロットへの支払いを避けられます。
dbtのコストにはどんな影響がありますか?
BigQuery上のdbtはコンピュート負荷が高い処理です。Editionsではコンピュートが高額になったため、スロット使用量をチューニングし、適切なプロジェクトに分離しない限り、dbtのworkloadsは通常コストが増加します。
Compressed Storageでのタイムトラベルとフェイルセーフのストレージ課金は無効にできますか?
タイムトラベルは無効化できませんが、保持期間を7日から3日に短縮できます。フェイルセーフは無効化が可能です。フェイルセーフからの復元にはGoogle Cloudのサポートチケットが必要です。
以前は無料だったのに、オンデマンドよりEditionsの方が高くつくworkloadsはありますか?
あります。たとえばBigLakeのメタデータ更新は、スロット時間を消費する一方でスキャンバイト数はゼロのため、オンデマンドでは無料でした。Editionsではそのスロットに対して支払いが発生します。こうしたジョブはオンデマンドのプロジェクトに分離してください。