Googleのブログ記事「データクラウドに柔軟性と予測可能性をもたらす、新たな BigQuery Editions を発表」に載っているように、2023/07/05からBigQueryの料金体系が変わります。すでにネット上では多くの記事が書かれているので、ご存じの方も多いと思います。ここでは主な変更点について説明します。概要の理解を重視し、細かい部分については説明を省いています。またリリースもまだなので、変更される可能性もあります。
ストレージ料金の計算方法の変更
従来からBigQueryに保存されるデータは圧縮されていましたが、ストレージ料金が以下のように変わります。圧縮は平均1/12になるようですので、かなり料金が下がるはずです。
- 従来 : 圧縮前の論理バイト数に応じて課金される。
- 変更後 : 圧縮後の物理バイト数に応じて課金される。
ただし注意が必要なのは、計算方法の変更が自動的に行われるかどうかは未定のようです。圧縮後で計算されるようにするには、7/5以降に何か操作が必要になる可能性があります。
- サイドバーから「BigQuery」→「SQLワークスペース」でエクスプローラを表示。
- 左ペインでデータセットを選択。
- データセット情報の右端の「詳細を編集」。
- 「詳細オプション」をクリックして展開し、下にスクロール。
- 「物理ストレージの課金モデルを有効にする」をチェックして「SAVE」。
オンデマンド検索の料金
従来の定額料金制ではなくオンデマンドでの検索も、7/5以降も引き続き可能です。クエリに使用したデータ量に応じで課金される仕組みも同じです。しかし料金は25%の上昇となります。これが一番 & たぶん唯一の痛い変更ですね。
従来の定額制とEditionsの違い
従来あった月間定額/年間定額とFlex Slotsが廃止され、新たにEditionsが開始されます。Editionsにはサービス内容と料金の違いで3つの選択肢がありますが、それらの違いの詳細は上記Googleのブログ記事や他のネット上の記事をご覧ください。Googleの公式ドキュメントにもすでに「BigQuery エディションの概要」が用意されています。
Editionsはオンデマンドと異なり、クエリに使用する仮想CPUである「スロット」単位での課金になります。スロットを使用した数と時間で課金されます。
つまりEditionsは新しい定額料金制ではありません。設定次第で、定額制の様にも従量制の様にも出来ますし、それらを組み合わせることもできます。
「スロットの自動スケーリングの概要」に説明されていますが、Editionsではプロジェクトごとに2段階の設定でスロットの利用の仕方を定義します。
- ベースライン スロット
Standardでは使用できないようです。
常時確保するスロットです。従来の月間定額/年間定額で予約するスロットと同じと考えていいと思います。次の自動スケーリングを使用せずベースラインのみ使用するように設定すると、従来の月間定額/年間定額と同等になります。
従来の月間定額を使用していたプロジェクトは、7/5に自動的に同量のベースラインに変換されるようです。年間定額の場合はその期限が切れたときにベースラインに変換されるようです。
- 自動スケーリング スロット
基本的にはベースラインスロットを使い切った場合に、追加で使用されるスロットです。自動スケーリングなので不要になれば解放されます。前のベースラインを使用せず自動スケーリングのみ使用するように設定すると、完全にオンデマンドに設定することも可能なようです。
Standardでは使用できないようです。
常時確保するスロットです。従来の月間定額/年間定額で予約するスロットと同じと考えていいと思います。次の自動スケーリングを使用せずベースラインのみ使用するように設定すると、従来の月間定額/年間定額と同等になります。
従来の月間定額を使用していたプロジェクトは、7/5に自動的に同量のベースラインに変換されるようです。年間定額の場合はその期限が切れたときにベースラインに変換されるようです。
基本的にはベースラインスロットを使い切った場合に、追加で使用されるスロットです。自動スケーリングなので不要になれば解放されます。前のベースラインを使用せず自動スケーリングのみ使用するように設定すると、完全にオンデマンドに設定することも可能なようです。
現時点ではまだ自動スケーリングの時間間隔や課金の時間軸方向の単位について明確な記載がないのですが、短い時間でスケーリングされ課金の時間単位も短いなら、オンデマンドに近い感覚で使用することができると思います。従来の月間定額/年間定額を利用してきたユーザにとっては、高価な利用料を下げられるかもしれません。
Flex Slotsの置き換え
従来のFlex Slotsは廃止されるので、今まで利用していたならその代用が必要になります。これは「既存のFlexコミットメント」に説明されています。
Flex Slotsを利用するケースで代表的なのは、特定の期間だけBigQueryの負荷を急増させる様なケースです。その期間の直前にFlex Slotsを購入し、期間が終われば削除することで、従来は短期的かつ計画的な負荷の急増に対応することがてきました。
Editionsでは自動スケーリングを設定すれば、このような負荷の急増に対応できます。