BigQuery料金FAQ
BigQuery Editions、Autoscaling、Compressed Storageについて率直に解説。何が変わり、誰が得をし、どこに注意すべきか。
2023年7月以降のオンデマンド価格の上昇率
Editions 3年コミットの割引率
Autoscalerのスロット割当単位
Editionsクエリの最低課金時間(分)
要点だけ
BigQuery料金で実際に変わったこと
予約やストレージ設定を見直す前に押さえておきたい3つの変更点。
オンデマンドの値上げ
オンデマンド分析の料金は約25%値上げされました。スパイク的で短時間のワークロードには、依然としてオンデマンドが向いています。
定額制からEditionsへ
月額・年額・Flexスロットは廃止されました。既存のコミットは期間満了までそのまま利用でき、その後Autoscaling付きのEditionsに移行します。
Compressed Storageの登場
論理バイトではなく物理バイトで課金されます。文字列中心のデータでは大きな効果が見込め、整数中心のテーブルでは効果は限定的です。
EditionsとAutoscaling
Editionsは安くもなり、大幅に高くもなる
Autoscalingでは、使用したスロットではなく割り当てられたスロットに対して課金されます。スケーリングは100スロット単位で行われ、スケールダウンには1分を要します。Editionsで10秒のクエリを実行しても、1分間分のスロット料金が発生します。
長時間安定して稼働し、大量のデータをスキャンするワークロードはEditionsが有利です。短時間でスパイク的なクエリは、通常オンデマンドの方が割安です。実務的には、ワークロードをプロジェクト単位で分割し、プロジェクトごとに料金モデルを選ぶのが有効です。
Compressed Storage
論理バイトではなく物理バイトに課金
Logical Storageは、データの非圧縮サイズに対して課金されます。Compressed Storageは、ディスク上の物理バイトに対して課金される仕組みで、料金はアクティブ $0.04/GB、長期保存 $0.02/GBです。GBあたりの単価は上がりますが、GB数は通常大幅に減ります。
APIもクエリの挙動も従来どおりで、パフォーマンスへの影響もありません。ただし1点注意があります。オンデマンドクエリは引き続き非圧縮バイトのスキャン量で課金されるため、削減効果はストレージのみで、コンピュートには及びません。
Frequently asked
questions
新しいEditionsモデルは、従来の定額制より高くなりますか?
ワークロード次第です。定額制でアイドル状態のスロットがあった場合は、EditionsとAutoscalingの組み合わせでコンピュート費用を下げられる可能性があります。Compressed Storageによりストレージ側のコストも削減できます。単一の項目ではなく、TCO全体で捉えてください。
BigQueryのコミットとは何ですか?GCPのコミットと同じですか?
別物です。BigQueryのコミットは、スロット/時間あたりのレートを引き下げます。3年コミットで分析コストが約40%割引されます。ストレージ料金は割引対象外です。
オンデマンドから切り替える前にPOCを実施すべきですか?
はい。Editionsの挙動、特にAutoscalingの最低単位や1分のスケールダウンは、想定外の形でコストに影響することがあります。コミット前に、代表的なワークロードでPOCを実施してください。
Editionsに向くワークロードと、オンデマンドに向くワークロードはどう見分けますか?
長時間安定して稼働し、大量のデータをスキャンするワークロードは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、という運用が可能です。プロジェクト単位でワークロードを分割することは、最も効果的な最適化手段の1つです。
データウェアハウスの再設計やSQLの変更は必要ですか?
SQLはそのまま動作します。ただし、Flexスロットを動的に購入するコードがある場合は、それが動作しなくなります。Terraformのサポートは対応中のため、当面はignore_changesを利用してください。総スロット消費量を減らすためのリファクタリングも検討する価値があります。
7月5日以前に定額制コミットを利用していました。その上にEditionsを利用できますか?
はい。定額制コミットは、期間中はコミット価格のままEnterprise Editionに変換されます。ベースラインを超えるスロットは通常のEnterpriseレートで課金されます。Autoscalerで設定した上限まで拡張可能です。
Compressed Storageと年間定額制コミットを併用できますか?
いいえ。Googleのツール側で、定額制の予約がある場合はCompressed Storageの利用が明示的にブロックされます。利用にはEdition、またはオンデマンドのみのプロジェクトが必要です。
オンデマンドでは、スキャン量は圧縮バイトと非圧縮バイトのどちらで課金されますか?
非圧縮バイトです。オンデマンドのプロジェクトから圧縮データをクエリしても、コンピュートコスト面での利点はありません。削減効果はストレージのみに限られます。
Compressed Storageに切り替えると、長期保存の割引は無効になりますか?
いいえ。長期保存の仕組みは、圧縮データにも非圧縮データにも引き続き適用されます。
Editionsでは、短いクエリでも本当に1分間分が課金されるのですか?
はい。Editionsのクエリは、Autoscalerの1分間のスケールダウンにより、最低1分間の課金となります。10秒のクエリでも1分間分のスロット料金が発生します。
Editionを選ぶ前に、必要なスロット数はどう見積もればよいですか?
Google Cloud ConsoleでMonitoringを開き、Metric Explorerでスロット関連のメトリクスを検索してください。DoiTのお客様は、チケットを起票いただければBigQueryスペシャリストと一緒に確認できます。
Autoscalerで支出の上限を設定できますか?
はい。常時利用するスロットのベースラインと、許容できる上限を設定できます。アイドル時間帯がある場合は、割り当て済みの未使用スロットに課金されないよう、ベースラインを0に設定してください。
dbtのコストへの影響は?
BigQuery上のdbtはコンピュート負荷の高い処理です。Editionsではコンピュートコストが上がっているため、スロット使用量をチューニングし、適切なプロジェクトに分離しない限り、dbtワークロードのコストは通常上昇します。
Compressed Storageのタイムトラベルおよびフェイルセーフのストレージ料金は、無効にできますか?
タイムトラベルは無効化できませんが、期間を7日から3日に短縮できます。フェイルセーフは無効化可能です。フェイルセーフからの復元にはGoogle Cloudのサポートチケットが必要です。
以前は無料だったのに、Editionsではオンデマンドより高くなるワークロードはありますか?
はい。たとえばBigLakeのメタデータ更新はスロット時間を消費しますが、スキャンバイト数はゼロのため、オンデマンドでは無料です。Editionsではスロット分の料金が発生します。こうしたジョブはオンデマンドのプロジェクトに分離してください。