BI Engine の容量を予約する

BigQuery BI Engine を使用する場合は、プロジェクト用に購入した BI Engine の容量に基づいて料金が発生します。予約は GB/時間で請求され、料金はオンデマンド料金に従ってリージョンごとに設定されます。容量ベースのコミットメントがある場合は、アクティブなコミットメントに基づいて最大 100% の割引が適用されます。詳細については、容量ベースの料金をご覧ください。

予約を作成して、BigQuery BI Engine の容量を購入します。予約は、予約の作成時に特定したプロジェクトに接続されます。BI Engine はこの容量を使用して、キャッシュに保存できるデータの量を決定します。BI Engine の最大予約サイズの詳細については、割り当てと上限をご覧ください。

必要なロール

予約の作成と削除に必要な権限を取得するには、プロジェクトで BigQuery リソース管理者roles/bigquery.resourceAdmin)の IAM ロールを付与するように管理者へ依頼してください。ロールの付与の詳細については、アクセス管理をご覧ください。

必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

予約を作成する

オンデマンドで BI Engine の容量を予約するには、以下の手順を実行します。

コンソール

  1. [BigQuery] ページの [管理] で、[BI Engine] ページに移動します。

    [BI Engine] に移動

  2. [予約を作成] をクリックします。

  3. [予約の作成] ページで、[ステップ 1] の以下の手順を実行します。

    • プロジェクト名を確認します。
    • ロケーションを選択します。クエリするデータセットのロケーションと一致する必要があります。
    • スライダーを調整して、予約するメモリ容量を指定します。次の例では、容量を 2 GB に設定しています。現在の最大値は 250 GB です。

      BI Engine の容量とロケーション

  4. [次へ] をクリックします。

  5. 必要に応じて、優先テーブルの [テーブル ID] を入力し、[次へ] をクリックします。

  6. [ステップ 3] で、予約の詳細を確認し、[作成] をクリックします。

予約を確認すると、[予約] ページに詳細が表示されます。

SQL

BI Engine の予約容量のオプションを設定します。

  1. Google Cloud コンソールで [BigQuery] ページに移動します。

    [BigQuery] に移動

  2. クエリエディタで次のステートメントを入力します。

    ALTER BI_CAPACITY `PROJECT_ID.LOCATION_ID.default`
    SET OPTIONS (
      size_gb = VALUE,
      preferred_tables = <ARRAY<STRING>>);
    

    次のように置き換えます。

    • PROJECT_ID: BI Engine アクセラレーションを利用するプロジェクトの ID(省略可)。省略すると、デフォルトのプロジェクトが使用されます。
    • LOCATION_ID: データをキャッシュに保存する必要があるロケーションregion- で始まります)。例: region-usregion-us-central1
    • VALUE: BI Engine 容量の予約の INT64 サイズ(ギガバイト単位、1~250 GB)。VALUE を設定すると、既存の値が存在する場合は置き換えられます。NULL に設定すると、そのオプションの値が消去されます。
    • STRING: アクセラレーションが適用されるテーブルのオプション リスト。形式: project.dataset.table or dataset.table。プロジェクトを省略すると、デフォルトのプロジェクトが使用されます。

  3. [実行] をクリックします。

クエリの実行方法については、インタラクティブ クエリを実行するをご覧ください。

bq

bq update コマンドを使用し、クエリ パラメータとしてデータ定義言語(DDL)ステートメントを指定します。

bq --project_id=PROJECT_ID update \
    --bi_reservation_size=SIZE \
    --location=LOCATION \
    --reservation

次のように置き換えます。

  • PROJECT_ID: プロジェクトの ID
  • SIZE: 予約メモリ容量(ギガバイト単位、1~250 GB)
  • LOCATION: クエリ対象のデータセットのロケーション

容量の見積もりと測定

BI Engine の予約の容量要件を見積もるには、次の操作を行います。

  1. TABLE_STORAGE ビュー情報スキーマを表示して、テーブルの論理ストレージ サイズを確認し、それを最初の BI Engine の予約に使用します。たとえば、200 GiB のデータを含むテーブルに対するクエリの場合は、200 GiB の BI Engine の予約から始めることをおすすめします。使用可能なフィールドまたはパーティションのサブセットのみを使用する、より選択的なクエリは、小さい予約サイズから始めることができます。
  2. BI Engine の予約と同じプロジェクトとリージョンで作成された、最適化が必要なすべてのクエリを実行します。目標は、最適化する必要があるワークロードを概算することです。負荷が増加すると、クエリを処理するためにより多くのメモリが必要になります。データは、クエリの受信後に BI Engine に読み込まれます。
  3. BI Engine RAM の予約を、Cloud Monitoring の bigquerybiengine 指標で使用されているバイト数(reservation/used_bytes)と比較します。
  4. 結果に基づいて予約容量を調整します。多くのユースケースでは、予約を小さくすることでクエリの大部分を高速化し、費用とリソースを節約できます。BI Engine の Monitoring の詳細については、BI Engine のモニタリングをご覧ください。

BI Engine の予約サイズには、次の要因が影響します。

  • BI Engine は、クエリの処理に必要な、頻繁にアクセスされる列と行のみをキャッシュに保存します。
  • 予約が完全に使用されると、BI Engine は最も長い間使用されていないデータをオフロードして、新しいクエリのために空き容量を増やそうとします。
  • 計算負荷の高い複数のクエリが同じデータセットを使用している場合、BI Engine はデータの追加コピーを読み込み、再分散してレスポンス時間を最適化します。

予約の削除

容量の予約を削除するには、以下の手順を実行します。

コンソール

  1. [BigQuery] ページの [管理] で、[BI Engine] ページに移動します。

    [BI Engine] に移動

  2. [予約] セクションで、予約を探します。

  3. [操作] 列で、予約の右側にある アイコンをクリックし、[削除] を選択します。

  4. [予約を削除しますか?] ダイアログで「DELETE」と入力して、[削除] をクリックします。

SQL

BI Engine の容量のオプションを設定します。

  1. Google Cloud コンソールで [BigQuery] ページに移動します。

    [BigQuery] に移動

  2. クエリエディタで次のステートメントを入力します。

    ALTER BI_CAPACITY `PROJECT_ID.LOCATION_ID.default`
    SET OPTIONS (
      size_gb = 0);
    

    次のように置き換えます。

    • PROJECT_ID: BI Engine アクセラレーションを利用するプロジェクトの ID(省略可)。省略すると、デフォルトのプロジェクトが使用されます。
    • LOCATION_ID: データをキャッシュに保存する必要があるロケーションregion- で始まります)。例: region-usregion-us-central1

    プロジェクト内のすべての容量予約を削除すると、そのプロジェクトでは BI Engine が無効になります。

  3. [実行] をクリックします。

クエリの実行方法については、インタラクティブ クエリを実行するをご覧ください。

bq

DDL ステートメントをクエリ パラメータとして指定して、bq update コマンドを使用します。

bq --project_id="PROJECT_ID" \
update --reservation
    --bi_reservation_size=0 \
    --location=LOCATION

次のように置き換えます。

  • PROJECT_ID: プロジェクトの ID
  • LOCATION: クエリ対象のデータセットのロケーション

リソース メタデータを表示する

INFORMATION_SCHEMA テーブルに対してクエリを実行すると、BI Engine の容量に関する情報を取得できます。BigQuery には、次の INFORMATION_SCHEMA ビューが用意されています。

次のステップ