Active Assist のレコメンデーションを BigQuery の容量計画に採り入れる
Google Cloud Japan Team
※この投稿は米国時間 2022 年 4 月 2 日に、Google Cloud blog に投稿されたものの抄訳です。
BigQuery では、Google ユーザーの多様なニーズに対応できるよう、オンデマンドと定額制の料金など、クエリの実行に関して非常に柔軟性の高い料金モデルが提供されています。
本日ご紹介する新しい BigQuery スロット レコメンデーション機能では、BigQuery の利用を簡単に最適化できるようになります。このレコメンデーションは、データ、インテリジェンス、機械学習を使用してクラウドの複雑性と管理上の手間を軽減する Googl Cloud の AIOps ソリューションの一部を構成する Active Assist を活用しています。
本機能のプレビュー版は、BigQuery のお客様で、クエリ実行にオンデマンド 料金を採用していて、定額料金について検討中の方であれば誰でも使用できます。本機能は「必要なスロット数はいくつなのか」といった疑問に対し、BigQuery の使用履歴、支出額、その他のシグナルに基づいて答えを出すことができます。実用的で自動で取得される分析情報とレコメンデーションで、該当するプロジェクトまたは組織でより期間の長い月次契約に切り替えた場合のコストメリットとパフォーマンスのトレードオフを簡単に把握できます。
これらのレコメンデーションには、次の場所からアクセスできます。
BigQuery 管理機能の [容量管理] セクションに存在する [スロット見積もりツール]
Recommender API と BigQuery へのレコメンデーションのエクスポート。これらを使用して、既存のワークフロー管理ツールとの統合が簡単になります
必要な BigQuery スロット数
ご存じのように、BigQuery はクエリの実行にスロット(コンピュートとメモリの仮想単位)を使用します。オンデマンド料金を採用していれば、スロットの事前プロビジョニングを検討する必要はありません。しかし、ワークロードの特性によっては、月間定額料金オプションの方がオンデマンド料金よりも優れた費用対効果を発揮することがあります。
定額料金を検討する場合、購入する最適なスロット数の設定が重要となります。スロットを多く購入しすぎてアイドル状態になったり、容量が未使用になったりすることは望ましくありません。逆に、購入数が少なすぎてクエリのパフォーマンス要件を満たせないことも望ましくありません。「購入すべきスロット数はいくつなのか」という疑問への答えは、パフォーマンス、スループット、利便性に関する要件により異なります。考慮すべき重要事項を次に示します。
ワークロードの種類と、想定されるクエリのパフォーマンス変化に対する許容度
ワークロードの形態(例: 予測可能 / 予測不能パターン、スパイク)
プロジェクトにおけるスロットの使用実績
月間予算
これまで、購入すべきスロット数を見積もるには、Cloud Logging または INFORMATION_SCHEMA を使用して、さまざまなスロット購入量に対する実証データを集め、特定のワークロードが存在するプロジェクトにおける現在のスロット使用状況を分析する必要がありました。本日ご紹介する BigQuery スロット レコメンデーション機能により、この作業がはるかに簡単になります。
BigQuery スロット レコメンデーション機能を確認し、それに基づき行動する
BigQuery Slot Recommender は、組織内のあらゆるプロジェクトで過去 30 日間に行われた BigQuery の使用アクティビティを分析します。Recommender は、BigQuery のオンデマンド スロット使用状況を分析して、コストとパフォーマンスのトレードオフ関係をパーセンタイルで表示します。たとえば、プロジェクトが使用したオンデマンド スロット数が 1,500 で 95 パーセンタイルの場合、95% の時間に使用したスロット数が 1,500 未満だったことを意味します。また、1,500 スロットの月次契約に切り替えると、ワークロードの特性に著しい変化が起きないという前提で、時間当たりのクエリ パフォーマンスが 5% 低下する可能性があります。
より期間の長い月次契約に切り替えることでメリットを得られるプロジェクトと組織の場合、本機能はオンデマンドから月間スロットに切り替えを検討するレコメンデーションを生成します。レコメンデーションは、コストまたはパフォーマンスを優先したさまざまな最適化オプションを提案でき、コスト削減予測も用意されています。以下は、Cloud Console UI に表示されるレコメンデーション例です。
このレコメンデーション例では、次の代替案が提案されます。
コスト最適化(90 パーセンタイル): スロット数 5,000 の月次契約に切り替えた場合、10% のクエリのパフォーマンスが低下する可能性があり、月あたり $60,000 の節約が見込まれます。
バランス重視(95 パーセンタイル): スロット数 6,200 の月次契約に切り替えた場合、5% のクエリのパフォーマンスが低下する可能性があり、月あたり $36,000 の節約が見込まれます。
パフォーマンス最適化(99 パーセンタイル): スロット数 8,500 の月次契約に切り替えた場合、1% のクエリのパフォーマンスが低下する可能性があり、月あたり $10,000 の節約が見込まれます。
既存のすべての利用法に対応(100 パーセンタイル): このオプションに節約効果はありません。コストが増える可能性もあります。このような場合、BigQuery Slot Recommender ではプレビュー中に「コスト削減なし」と表示されます。Google は現在、「負のコスト(コストの増加)」の予測機能を本プロダクトの次のイテレーションに組み込むための準備を進めています。
これらのレコメンデーションに加え、使用データを時系列で表示して確認することもできます。たとえば、95 パーセンタイルを上回るスロット使用量を占めるようなスパイクが毎日特定の時間に発生するかもしれません。スパイクを補完する Flex Slots のスロットを購入するか、クエリを異なる時間にスケジュールして、パフォーマンスに影響をおよぼす可能性を軽減できる場合があります。
BigQuery Slot Recommender を使ってみる
スロット レコメンデーション機能を使用するには、Google Cloud Console の BigQuery [容量管理] から、BigQuery のインタラクティブな容量管理ツールである [スロット見積もりツール] を確認してください(スロット見積もりツールの詳細については、こちらのブログをご覧ください)。レコメンデーションを表示するには、BigQuery リソース管理者など適切な IAM ロール、または BigQuery Slot Recommender、BigQuery スロット見積もりツール、および特定組織のリソース表示のそれぞれに関する個別の権限が必要です。
レコメンデーションを BigQuery に自動でエクスポートしてデータポータルまたは Looker でスロット レコメンデーションを確認することもできます。また、SQL クエリを記述しなくても、Google Workspace のスプレッドシートを使ってデータを操作できるコネクテッド シートを使用することも可能です。
他の Recommender と同様に、お客様は [プライバシーとセキュリティ] 設定の [透明性と管理] タブで該当するデータグループを無効にすることで、いつでもデータ処理を無効にすることを選択できます。
BigQuery Slot Recommender を BigQuery 使用状況の最適化にぜひご活用ください。この機能に関する皆様のご意見、ご感想をお待ちしています。active-assist-feedback@google.com までお気軽にご連絡ください。また、開発された新機能をいち早くご利用いただくには、Active Assist Trusted Tester Group にご登録ください。
- Active Assist、プロダクト マネージャー、Dima Melnyk
- Google Cloud、プロダクト マネージャー、Jagan R. Athreya