BigQuery の使用状況の最適化に活用できるパーティショニングとクラスタリングに関する推奨事項のご紹介
Google Cloud Japan Team
※この投稿は米国時間 2023 年 5 月 26 日に、Google Cloud blog に投稿されたものの抄訳です。
多数の BigQuery テーブルをお使いの場合、パーティショニングやクラスタリングをどのテーブルに適用しているのかを把握したり、これから適用できるのはどのテーブルかを判断したりすることが難しいと思ったことはありませんか?そんなあなたに良いお知らせです。Google Cloud は、パーティショニングおよびクラスタリング Recommender の提供を開始します。ぜひご活用ください。この Recommender は、組織のすべてのワークロードとテーブルを分析して、費用最適化の機会を見極めます。そしてこの Recommender は、完全に無料でご利用いただけます。
「BigQuery のパーティショニングとクラスタリングに関する推奨事項は大いに役立っています。お客様は、これらの推奨事項を活用することで、費用の削減、パフォーマンスの向上、BigQuery の使用状況の最適化をどの領域で実現できるのかを判断しやすくなりました」- Sky(ヨーロッパの大手メディアおよび通信企業)
Recommender の仕組み
パーティショニングとは、1 つのテーブルを複数のセグメントに分割する手法で、クラスタリングとは、ユーザー定義の列に基づいてそのテーブルを並べ替える手法です。どちらも、フィルタ句を使用するクエリやデータを集計するクエリなど、特定のタイプのクエリのパフォーマンスを向上させることができます。
BigQuery の Partitioning and Clustering Recommender は、過去 30 日間に生じたプロジェクトのワークロード実行それぞれを分析して、テーブルデータの最適とは言えないスキャンを見つけます。次に、Recommender は ML を使用して削減可能な費用を見積もり、最終的な推奨事項を生成します。このプロセスには主要なステップが 4 つあります。候補の生成、読み取りパターン アナライザ、書き込みパターン アナライザ、推奨事項の生成です。


「候補の生成」はプロセスの最初のステップで、特定の条件に基づいてテーブルと列を選択します。パーティショニングでは、100 GB より大きいテーブルが選択され、クラスタリングでは、10 GB より大きいテーブルが選択されます。これより小さいテーブルを除外するのは、最適化によるメリットが小さいうえ、メリットを予測しにくいからです。テーブルの選択後、BigQuery のパーティショニングとクラスタリングの要件を満たしている列を特定します。
「読み取りパターン アナライザ」のステップでは、Recommender は、選択した列にフィルタを適用するクエリのログを分析し、パーティショニングまたはクラスタリングによって削減できる可能性のある費用を判断します。フィルタの選択性、ファイル プルーニング(枝刈り)の可能性、実行時間といったいくつかの指標を検討したうえで、ML を使用して、パーティショニングまたはクラスタリングを適用した場合に短縮できる可能性のあるスロット時間を見積もります。
次の「書き込みパターン アナライザ」のステップでは、書き込み時にパーティショニングまたはクラスタリングによって発生する可能性のある費用を見積もります。書き込みパターンとテーブル スキーマを分析して、パーティショニングまたはクラスタリングから削減できる正味額を列ごとに判断します。
最後に、「推奨事項の生成」では、「読み取りパターン アナライザ」と「書き込みパターン アナライザ」の両方からの出力を使用して、パーティショニングまたはクラスタリングから削減できる正味額を列ごとに判断します。この正味削減額が有益で、意味がある場合、適切な IAM 権限で推奨事項が Recommender API にアップロードされます。
BigQuery のパーティショニングとクラスタリングに関する推奨事項の確認
これらの推奨事項には、次のいずれかのチャネル経由でアクセスできます。
BigQuery の UI ページの右上にある電球(アイデア)アイコン
Google Cloud コンソールのおすすめハブ
Google Cloud の Recommender API
BigQuery Export を使用すると、推奨事項を BigQuery にエクスポートすることもできます。


Recommender について詳しくは、一般公開ドキュメントをご覧ください。
BigQuery テーブルの最適化には、BigQuery のパーティショニングとクラスタリングに関する推奨事項をぜひご活用ください。この機能に関する皆様のご意見、ご感想をお待ちしております。active-assist-feedback@google.com までお気軽にご連絡ください。
- Data Analytics、プロダクト マネージャー Vinay Yerramilli
- Active Assist、プロダクト マネージャー Sharon Fang

