BigQuery Intelligence
サーバーレスでマルチクラウド対応のデータ分析プラットフォームである Google Cloud BigQuery の料金は主に 2 つの部分から構成されます。クエリ処理コストのための compute pricing と、データ保存コストのための storage pricing です。
DoiT BigQuery Intelligence は BigQuery の利用状況を分析し、コンピュートとストレージの両方に対して実行可能な推奨事項を生成することで、クラウド支出の効率最大化、クエリパフォーマンスの向上、データの拡大に伴う持続的な成長を支援します。
Dataset and audit log sink
BigQuery Intelligence は billing project 内に次のものを作成します。
-
必要な権限で サービスアカウントを更新 した際に作成され、サービスアカウントを削除 した際に削除される、
doitintl_cmp_bqという名前のデータセット。 -
すべての BigQuery ジョブ用の、
<Billing_Project_ID>.doitintl_cmp_bq.cloudaudit_googleapis_com_data_accessという名前の audit log sink。
Queries run by BigQuery Intelligence
BigQuery Intelligence は次のプロセスを実行します。
-
Table discovery process:テーブルのメタデータを収集します。このプロセスはスケジュールに基づいて実行されます。収集したテーブルメタデータは、
doitintl_cmp_bqデータセット内のtables_discovery_v2というテーブルに書き込まれます。 -
Costs update process:1 時間あたり 1 回、前時間内の BigQuery ジョブをスキャンし、その結果を
doitintl_cmp_bqデータセット内のcostsというテーブルに書き込みます。このデータは BigQuery Intelligence ダッシュボードおよび分析レポートで利用されます。 -
Dashboard update process:BigQuery Intelligence ダッシュボードを更新します。
- コスト削減情報および最適化可能なコストを提供するため、コストシミュレーションクエリを毎日実行します。
- 詳細な BigQuery 利用状況を提供するため、intelligence calculation クエリを毎日実行します。
-
Reservation mapping process:capacity pricing モデルでワークロードを実行している場合、このプロセスは、任意のジョブが完了した時点で使用されていた edition と capacity commitments をマッピングします。1 時間あたり 1 回実行され、収集したデータを
doitintl_cmp_bqデータセット内の次のテーブルに書き込みます。- edition と割り当て先プロジェクトに関連付けられた reservation の一覧を含む
reservations_mapping_historyテーブル。 - その日にアクティブだった capacity commitments に関する情報を含む
capacity_commitments_historyテーブル。
- edition と割り当て先プロジェクトに関連付けられた reservation の一覧を含む
BigQuery Intelligence cost
BigQuery Intelligence は、お客様に代わって doitintl_cmp_bq データセットを作成および管理し、billing project 内でクエリを実行して分析データを提供します。
クエリ実行の実際のコストは、ログのボリュームと、選択した compute pricing モデルに依存します。billing project が reservation に割り当てられている場合、BigQuery Intelligence のジョブは、割り当てられた reservation の slots を使用します。
履歴ジョブが大量に存在する場合、サービスアカウントのセットアップ時に過去 30 日間分をバックフィルする際、BigQuery Streaming Inserts のコストが増加する可能性があります。
Slots autoscaling
BigQuery のコンピュートキャパシティは slots で測定されます。BigQuery capacity の reservation を行う際、BigQuery editions を有効にし、edition に紐づく reservation または capacity commitment を作成できます。
baseline と autoscaling slots を組み合わせた reservations を利用している場合、次の点に注意してください。
-
reservation に割り当てられた baseline slots については常に課金されます。autoscaling slots は、すべての baseline slots(および該当する場合は idle slots)が消費された後にのみ追加されます。
-
slots の数は常に 50 の倍数でスケールし、1 ステップで 50 slots を超えてスケールすることもあります。実際に使用されたかどうかにかかわらず、スケールされた slots の数に応じて課金されます。
-
autoscale されたキャパシティは、少なくとも 60 秒間(スケールダウンウィンドウ)保持されます。
BigQuery コストを算出する際には、RESERVATIONS_TIMELINE view を使用して時間経過に伴う reservation の変更を追跡し、ジョブが完了した時点で使用されていた edition と commitments を特定するために reservation mapping process を実行します。
autoscaling 発生中に複数のジョブがある場合、baseline slots を使用したジョブと autoscaled slots を使用したジョブを区別できないため、重み付き平均に基づく価格を用います。その結 果、全体の合計値は概ね正確である一方、個々のジョブまたは reservation のコストは正確でない可能性があります。
Table type limitations
BigQuery Intelligence は、BigQuery の clones および snapshots のストレージコストを算出できません。これらのテーブルタイプは、データ共有や親テーブルからの継承に依存する複雑な課金モデルを持っています。BigQuery APIs を介して利用可能なメタデータだけでは、それらのストレージ消費を正確にモデル化するための情報が十分ではありません。
ただし、clones と snapshots のコストは、Active logical storage や Long-term logical storage などの BigQuery SKU の下で、Google Cloud の billing export から得られる集計データには引き続き含まれます。clones および snapshots からの個々のコスト寄与分は、BigQuery Intelligence によるストレージ分析と推奨事項からのみ除外されます。