サーバーレスなビッグデータ分析サービスとして注目されている Google Cloud (GCP)の データウェアハウス(DWH)であるGoogle BigQuery™ ( 以降BigQueryと略 )ですが、環境構築が不要で手軽に利用できることもあり、データ分析を行うプラットフォームとして多くの方に利用されています。一方で思わぬ出費にならないよう、正しく料金体系を理解しておくことが大切です。本稿では BigQuery の価格面と利用時に注意すべきポイントについてご紹介します。また、2023年3月30日に発表された新しい料金体系である「BigQuery Editions」についても解説していきます。
BigQuery の料金体系
まずは、Google Cloud で公表されているBigQuery の料金体系を解説します。なお、BigQuery の料金体系は多岐に渡りますが、今回はその中でほぼ全てのユーザ様に大きく影響する「コンピューティング (分析) 料金」と「ストレージ料金」を中心に解説します。
※上記以外の料金項目としては、「BigQuery Omni」「BigQuery ML」「BI Engine」「ストリーミングの読み取り と書き込み」等があります。
BigQuery の新料金体系
新料金体系のポイントは、大きく分けて以下の3つとなります。
コンピューティング (分析) 料金
- 従来の「定額料金」の後継として、新たな「BigQuery Editions」を提供
- 2023年7月5日より、「オンデマンド分析料金」を 25% 値上げ
ストレージ料金
- 既存の論理ストレージに加え、新たな「物理ストレージ」を提供
BigQuery Editions
BigQueryは、デフォルトでは、クエリでスキャンされたデータに対して料金が発生する「オンデマンド分析料金」が適用されます。これに対し、BigQuery Editions は、クエリの固定料金をご希望のお客様向けに提供されるサービスとなります。
BigQuery Editions では、個々のワークロードの要件に適した機能セットを選択できます。例えば、Standard Edition はアドホック、開発、テスト ワークロードに最適です。一方、Enterprise はセキュリティ、ガバナンス、機械学習、データ管理機能が強化されています。Enterprise Plus は、高稼働率、可用性、リカバリ要件が求められるミッション クリティカルなワークロードや、複雑な規制ニーズがあるワークロードを対象としています。機能セットの詳細は以下をご覧ください。
Standard スロット1時間あたり0.04米ドル(USD) |
Enterprise スロット1時間あたり0.06米ドル(USD) |
Enterprise Plus スロット1時間あたり0.10米ドル(USD) |
---|---|---|
標準的な SQL 分析のための低コストオプション
|
高度なエンタープライズアナリティクスをサポート
オプションの1年契約(スロット1時間あたり0.048米ドル) |
ミッションクリティカルなエンタープライズアナリティクスをサポート
オプションの1年契約(スロット1時間あたり0.08米ドル) |
引用:データクラウドに柔軟性と予測可能性をもたらす、新たな BigQuery Editions を発表 | Google Cloud 公式ブログ
オンデマンド分析料金の変更
2023年7月5日より、すべてのリージョンで「オンデマンド分析料金」が 25% 値上げされる予定です。
物理ストレージの提供(プレビュー)
BigQuery のデフォルトのストレージ料金は、論理ストレージ(BigQuery 内で自動圧縮される前のデータ容量)で計算されます。これに対し、新たに提供された物理ストレージでは、圧縮後のコンパクトなデータ容量で計算されます。
この圧縮率はデータの内容によって上下しますが、Google Cloud の発表によると、12分の1以上の圧縮率を達成したケースもあり、ストレージ料金を大きく下げる事が期待できます。なお、2023年4月現在、物理ストレージはプレビュー版での提供となる旨、ご注意ください。
BigQuery の旧料金体系との比較
参考までに、新旧の料金体系の比較を、以下の表にて記載します。
東京(asia-northeast)
旧料金体系 | 新料金体系 | |||||
---|---|---|---|---|---|---|
カテゴリ | 課金対象 | 料金 | 詳細 | 課金対象 | 料金 | 詳細 |
コンピューティング (分析) 料金 | クエリ (オンデマンド) |
$6.00 / TB | 毎月1TBまで無料。 | 2023年4月時点では、変更無し。2023年7月5日以降は、$7.50 / TBになる予定。 | ||
クエリ (月定額) |
$2,400 / 100 slots | 追加スロットは100スロット単位で購入可能。 | 2023年4月時点では、変更無し。2023年7月5日以降は、新規購入不可になる予定。 | |||
クエリ (年定額) |
$2,040 / 100 slots | |||||
|
BigQuery Editions Standard | $0.051 / slot hour | 請求は1秒単位(最低期間は1分) | |||
BigQuery Editions Enterprise | $0.0765 / slot hour | |||||
BigQuery Editions Enterprise Plus | $0.1275 / slot hour | |||||
ストレージ料金 | アクティブな論理ストレージ | $0.023 / GB | 毎月10GBまで無料。 | 2023年4月時点では、変更無し。 | ||
長期論理ストレージ | $0.016 / GB | |||||
アクティブな物理ストレージ | $0.052 / GB | 毎月10GBまで無料。 | ||||
長期物理ストレージ | $0.026 / GB |
引用:Google Cloud BigQuery の料金(英語)
旧体系から新体系の移行
「オンデマンド分析料金」のみをご利用のお客様は、特に対応の必要はございません。
「定額料金」をご利用中のお客様は、販売終了日の2023年7月5日より前に、自動的に BigQuery Editions に移行される予定です。なお上記販売終了日までは、既存の機能に引き続きアクセスでき、料金の変更はありませんが、2023年7月5日以降は、BigQuery Editions の機能と料金体系へ変更される予定です。
引用:BigQuery エディションの概要 | Google Cloud
引用:BigQuery エディションへの移行 | Google Cloud
BigQuery 無料のオペレーション
次の表にまとめられている BigQuery のオペレーションは、どのロケーションを選択したとしても無料で使えます。
オペレーション | 詳細 |
---|---|
データの読み込み | 共有スロットプールの使用は無料。定額料金を選択すると、保証された容量を獲得できます。データが BigQuery に読み込まれると、ストレージの料金が発生します。 |
データのコピー | テーブルのコピーは無料ですが、新しいテーブルやコピーしたテーブルの保存には料金が発生します。 |
データのエクスポート | BigQuery から Cloud Storage にデータをエクスポートする場合、エクスポート オペレーションは無料ですが、Cloud Storage へのデータの保存では料金が発生します。 |
削除操作 | データセットまたはテーブルの削除、個々のテーブル パーティションの削除、ビューの削除、またはユーザー定義関数の削除には課金されません。 |
メタデータオペレーション | list、get、patch、update、delete の呼び出しは無料です。たとえば、データセットの一覧表示、データセットのアクセス制御リストの更新、テーブルの説明文の更新、データセット内のユーザー定義関数の一覧表示などが該当します。 |
BigQuery を利用する際の注意ポイント
では最後に、 BigQuery を利用するにあたって価格面で注意すべきポイントを紹介します。
1.「SELECT *」を避ける
「SELECT *」の使用はデータを照会するにあたって、最も費用がかかる方法です。これを使用すると BigQuery はテーブル内のすべての列をフルスキャンします。データのテスト、または検索には「SELECT *」ではなく、データプレビューオプションを使用し、実際にクエリを実行する際には必要な列のみを選択して実行するようにしましょう。
2. プレビューオプションを使用してデータをサンプリングする
テーブルデータを探索またはプレビューするためにクエリを実行してはいけません。データを調べる場合はテーブルプレビューオプションを使用すると、割り当てに影響することなく無料でデータを表示できます。
BigQuery は、次のデータ プレビュー オプションをサポートしています。
- Cloud Console のテーブルの詳細ページで、[プレビュー] タブをクリックしてデータをサンプリングします。
- bq コマンドライン ツールで、bq head コマンドを使用して、プレビューする行数を指定します。
- API で tabledata.list を使用して、指定した行のセットからテーブルデータを取得する。
3. クエリを実行する前に料金を見積もる
クエリを実行する前に、プレビューして費用を見積もります。クエリは読み取られたバイト数に基づいて課金されます。クエリを実行する前に費用を見積もるには、以下の操作を行ってください。
- Cloud Console でクエリ検証ツールを表示する
- Google Cloud Platform 料金計算ツールを使用する
以下を使用して、ドライランを実行する
- bq コマンドライン ツールの --dry_run フラグ
- dryRun パラメータ(API を使用してクエリジョブを送信する場合)
4. 課金されるバイト数を制限してクエリ費用を抑える
課金される最大バイト数の設定を使用して、クエリ費用を抑えることができます。課金される最大バイト数を設定した場合は、クエリが実行される前に、クエリで読み取られるバイト数が推定されます。推定バイト数が上限を超えると、クエリが失敗し、料金は発生しません。
5. クラスタ化テーブルまたはパーティション分割テーブルの使用
クラスタリングとパーティショニングにより、クエリで処理されるデータの量を削減することにより、クエリ費用を抑えることができます。クラスタ化テーブルにクエリを実行する場合、そのクエリにクラスタ化された列のフィルタが含まれていると、BigQuery はフィルタ式とブロック メタデータを使用して、クエリでスキャンされるブロックをプルーニングします。パーティション分割テーブルをクエリすると、パーティショニング列のフィルタがパーティションのプルーニングに使用され、クエリの費用を抑えることができます。
6. ダッシュボードを使用して費用を表示し、監査ログを照会する
BigQuery に課金データをエクスポートすると、Google データポータルなどのツールで可視化できます。また、監査ログを BigQuery にストリーミングして、ユーザー別のクエリ費用などの使用パターンに関するログを分析することもできます。
7. 大容量の結果セットの費用を検討する
大容量のクエリ結果を宛先テーブルに書き込む場合は、デフォルトのテーブル有効期限を適用して不要になったデータを削除します。BigQuery ストレージで大容量の結果セットを維持するには費用がかかります。結果に永続的にアクセスする必要がなければ、デフォルトのテーブル有効期限を使用して自動的にデータを削除するようにします。
BigQuery は注意ポイントさえしっかりと押さえていれば、かなりお得に利用できるサーバーレスなビッグデータ分析サービスです。ビッグデータ分析に関するあらゆるニーズに応えるための機能が揃っています。
BigQuery の料金体系を理解し利用開始しよう
いかがでしょうか。今後ビッグデータ分析に取り組みたいという場合は、プラットフォームやツールの選定が重要になります。まずは手軽に始められ大規模でサーバーレスなデータプラットフォームとしても利用できる BigQuery は大変おすすめです。
また、電算システムでは、Google Cloud 認定資格所有者によるGoogle Cloud 技術コンサルティングなど BigQuery を快適に利用するために必要な Google Cloud 向けの各種Google Cloud サービスをご提供しています。是非お気軽にご相談ください。
- カテゴリ:
- Google Cloud(GCP)
- キーワード:
- ビッグデータ分析