BI Engine の優先テーブル
BigQuery BI Engine の優先テーブル機能を使用すると、BI Engine アクセラレーションを特定のテーブルセットに制限できます。他のすべてのテーブルに対するクエリでは、通常の BigQuery スロットが使用されます。たとえば、優先テーブルでは、ビジネスに重要であると指定したテーブルとダッシュボードのみを加速できます。
プロジェクトに、すべての優先テーブルを保持するのに十分な RAM がない場合は、BI Engine が最近アクセスされていないパーティションと列をオフロードします。このプロセスにより、加速を必要とする新しいクエリのメモリが解放されます。
優先するテーブルを指定する
優先テーブルのセットを指定するには、次のオプションを使用できます。
- コンソール
- SQL のデータ定義言語(DDL)ステートメント
コンソールで優先テーブルを指定する
新しい予約を作成するとき、または既存の予約を編集するときに、優先テーブルのセットを指定できます。BI Engine の予約を含むプロジェクト内からテーブル、またはその他の BigQuery テーブルを選択できます。
新規予約用の優先テーブルを指定する
新しい予約を作成するときに加速するテーブルのセットを指定するには、次の手順を行います。
コンソールで、[BigQuery] ページに移動します。
BigQuery のナビゲーション メニューで、[BI Engine] をクリックします。
[予約を作成] をクリックします。
[予約を作成] ページで、[ロケーション] と [容量(GB)] のオプションを指定し、[次へ] をクリックします。
[優先テーブル(オプション)] セクションが表示されます。
[テーブル ID] フィールドに、パターン
PROJECT.DATASET.TABLE
を使用して加速するテーブルを指定します。以下を置き換えます。
PROJECT
: 実際の Google Cloud プロジェクト IDDATASET
: データセットTABLE
: 加速するテーブル。
[次へ] をクリックします。
優先テーブルを含む予約を作成するには、[作成] をクリックします。
既存の予約用の優先テーブルを指定する
既存の予約で加速用のテーブルのセットを指定するには、次の手順を行います。
コンソールで、[BigQuery] ページに移動します。
BigQuery のナビゲーション メニューで、[BI Engine] をクリックします。
プロジェクトが優先テーブル用に構成されている場合、一連のテーブルが [優先テーブル] 列に表示されます。
編集する予約の行で、[操作] 列のアイコンをクリックし、[編集] を選択します。
変更が有効になるまで約 5 分かかります。優先テーブルリストのテーブルだけが BI Engine アクセラレーションを使用できます。
SQL を使用して優先テーブルを指定する
優先する一連のテーブルと予約サイズを変更するには、ALTER BI_CAPACITY SET OPTIONS
DDL ステートメントを使用します。
ALTER BI_CAPACTIY `<PROJECT_ID>.region-<REGION>.default` SET OPTIONS ( size_gb = 100, preferred_tables = ['TABLE_PROJECT_ID.DATASET.TABLE1', 'TABLE_PROJECT_ID.DATASET.TABLE2']);
次のように置き換えます。
TABLE_PROJECT_ID
: 加速化テーブルを含む Google Cloud プロジェクト IDDATASET
: 高速化テーブルを含むデータセットTABLE#
: 加速するテーブル。
SQL で検証する
一連の優先テーブルを含む予約のステータスを確認するには、SQL クエリを使用して INFORMATION_SCHEMA.BI_CAPACITIES
ビューを表示します。次に例を示します。
SELECT * FROM `<PROJECT_ID>.region-<REGION>.INFORMATION_SCHEMA.BI_CAPACITIES`;
コンソールでは、この SQL クエリの結果は次のようになります。
特定の予約の変更履歴を表示するには、SQL クエリを使用して INFORMATION_SCHEMA.BI_CAPACITY_CHANGES
ビューを使用します。次に例を示します。
SELECT * FROM `<PROJECT_ID>.region-<REGION>.INFORMATION_SCHEMA.BI_CAPACITY_CHANGES` ORDER BY change_timestamp DESC LIMIT 3;
コンソールでは、この SQL クエリの結果は次のようになります。
制限事項
BI Engine の優先テーブルには、次の制限があります。
- 優先テーブルの予約リストにビューを追加することはできません。BI Engine の優先テーブルでは、テーブルのみがサポートされます。
- マテリアライズド ビューへのクエリが加速されるのは、マテリアライズド ビューとそのベーステーブルの両方が優先テーブルリストに含まれている場合のみです。
- 加速用のパーティションまたは列の指定はサポートされていません。
- クエリを加速するには、
JOIN
クエリのすべてのテーブルが優先テーブルリストに含まれている必要があります。優先リストに含まれないテーブルが 1 つでもある場合、クエリは BI Engine を使用できません。 - コンソールでは、一般公開データセットはサポートされていません。一般公開テーブルを優先テーブルとして追加するには、API または DDL を使用します。
料金
BI Engine の料金については、BI Engine の料金のページをご覧ください。
次のステップ
- リスクなし、かつ無料で BigQuery サンドボックスのご利用を開始していただけます。
- BI Engine のその他のビジネス インテリジェンス ツールでの使用方法を学習する。
- BI Engine の容量を予約する方法を確認する。