データセットのロケーション

このページでは、データのロケーションの概念と、データセットを作成できるロケーションの種類について説明します。データセットのロケーションを設定する方法については、データセットの作成をご覧ください。

各リージョンの BigQuery の料金については、料金ページをご覧ください。

主なコンセプト

データセットの作成時に BigQuery データを保存するロケーションを指定します。データセットを作成した後で、そのロケーションを変更することはできません。

ロケーションには、2 つの種類があります。

  • リージョンのロケーションは、東京などの特定の地理的な場所となります。詳細については、「地域とリージョン」ページのリージョン リソースをご覧ください。

  • マルチリージョンのロケーションは、米国などの、2 つ以上の地理的な場所を含む広い地理的なエリアとなります。詳細については、「地域とリージョン」ページのマルチリージョン リソースをご覧ください。

BigQuery では、サービス固有の規約に従って、選択したロケーションにデータが保存されます。

リージョンのロケーション

リージョン名 リージョンの説明
南北アメリカ
us-west2 ロサンゼルス
northamerica-northeast1 モントリオール
us-east4 北バージニア
southamerica-east1 サンパウロ
ヨーロッパ
europe-north1 フィンランド
europe-west2 ロンドン
アジア太平洋
asia-east2 香港
asia-south1 ムンバイ
asia-east1 台湾
asia-northeast1 東京
asia-southeast1 シンガポール
australia-southeast1 シドニー

マルチリージョン

マルチリージョン名 マルチリージョンの説明
EU EU
US 米国

ロケーションの指定

BigQuery は、データの読み込み、データのクエリ、またはデータのエクスポートを行うときに、リクエストで参照されるデータセットに基づいてジョブを実行するロケーションを決定します。たとえば、クエリが asia-northeast1 リージョンに格納されたデータセット内のテーブルを参照する場合、クエリジョブはそのリージョンで実行されます。クエリがデータセット内に含まれるテーブルやその他のリソースを参照せず、抽出先テーブルが指定されていない場合、クエリジョブはプロジェクトで定額料金用に予約されているロケーションで実行されます。プロジェクトに定額料金の予約がない場合、ジョブは US リージョンで実行されます。複数の定額料金の予約がプロジェクトに関連付けられている場合は、予約されているロケーションの中で最も多くのスロットが存在するロケーションでジョブが実行されます。

ジョブが実行されるロケーションを明示的に指定するには:

  • GCP Console を使用してデータをクエリする場合は、[展開] > [クエリの設定] をクリックし、[処理を行うロケーション] で [自動選択] をクリックして、データのロケーションを選択します。
  • 従来の BigQuery のウェブ UI を使用してデータをクエリする場合は、[Show Options] をクリックし、[Processing Location] で [Unspecified] をクリックしてデータのロケーションを選択します。
  • コマンドライン ツールを使用する場合は、--location グローバル フラグを指定し、その値を該当するロケーションに設定します。
  • API を使用する場合は、ジョブリソースjobReference セクションにある location プロパティで該当するリージョンを指定します。

指定したロケーションがリクエスト内のデータセットのロケーションと一致しない場合、BigQuery はエラーを返します。

ロケーションに関する留意事項

データのロケーションを選択するときは、次の点を考慮してください。
  • BigQuery データセットと外部データソースを同じロケーションに配置する
    • Cloud Storage などの外部データソースのデータをクエリする場合、クエリするデータは BigQuery データと同じロケーションに存在する必要があります。たとえば、BigQuery データセットが EU のマルチリージョン ロケーションにある場合、クエリ対象のデータが含まれている Cloud Storage バケットは、EU のマルチリージョン バケットに存在する必要があります。データセットが米国のマルチリージョン ロケーションにある場合、Cloud Storage バケットは米国のマルチリージョン バケットに存在する必要があります。
    • データセットがリージョン ロケーションにある場合、クエリ対象のデータが含まれている Cloud Storage バケットは、同じロケーションのリージョン バケットに存在する必要があります。たとえば、データセットが東京リージョンにある場合、Cloud Storage バケットは東京のリージョン バケットである必要があります。
    • 外部データセットが Cloud Bigtable にある場合、データセットは米国または EU のマルチリージョン ロケーションに存在する必要があります。Cloud Bigtable データは、サポートされている Cloud Bigtable のロケーションのいずれかに存在する必要があります。
    • ロケーションに関する考慮事項は、Google ドライブの外部データソースには適用されません。
  • データを読み込む場合は、Cloud Storage バケットを同じリージョンに配置する
    • BigQuery データセットがマルチリージョン ロケーションにある場合、読み込み対象のデータが含まれている Cloud Storage バケットは、同じロケーションのリージョンまたはマルチリージョン バケットに存在する必要があります。たとえば、BigQuery データセットが EU にある場合、Cloud Storage バケットは EU のリージョンまたはマルチリージョン バケットに存在する必要があります。
    • データセットがリージョン ロケーションにある場合、Cloud Storage バケットは同じロケーションのリージョン バケットに存在する必要があります。たとえば、データセットが東京リージョンにある場合、Cloud Storage バケットは東京のリージョン バケットである必要があります。
    • 例外: データセットが米国のマルチリージョン ロケーションにある場合、任意のリージョンまたはマルチリージョン ロケーションにある Cloud Storage バケットからデータを読み込むことができます。
  • データをエクスポートする場合は、Cloud Storage バケットを同じリージョンに配置する
    • データをエクスポートする場合、リージョンまたはマルチリージョンの Cloud Storage バケットを BigQuery データセットと同じロケーションに配置する必要があります。たとえば、BigQuery データセットが EU のマルチリージョン ロケーションにある場合、エクスポート対象のデータが含まれている Cloud Storage バケットは EU のリージョンまたはマルチリージョン ロケーションに存在する必要があります。
    • データセットがリージョン ロケーションにある場合、Cloud Storage バケットは同じロケーションのリージョン バケットに存在する必要があります。たとえば、データセットが東京リージョンにある場合、Cloud Storage バケットは東京のリージョン バケットである必要があります。
    • 例外: データセットが米国のマルチリージョン ロケーションにある場合、任意のリージョンまたはマルチリージョン ロケーションにある Cloud Storage バケットにデータをエクスポートできます。
  • データ管理計画を作成する
    • BigQuery データセットや Cloud Storage バケットなどのリージョン ストレージ リソースを選択する場合は、データの地理的管理を行うための計画を作成します。
Cloud Storage のロケーションの詳細については、Cloud Storage のドキュメントのバケットのロケーションをご覧ください。

ロケーション間での BigQuery データの移動

データセットの作成後にロケーションを変更することはできません。また、データセットをあるロケーションから別のロケーションに移動させることもできません。データセットをあるロケーションから別のロケーションに移動する必要がある場合は、次の手順に従って作業してください。

  1. BigQuery テーブルから、データセットと同じロケーションにあるリージョンまたはマルチリージョンの Cloud Storage バケットにデータをエクスポートします。たとえば、データセットが EU のマルチリージョン ロケーションにある場合は、EU のリージョンまたはマルチリージョン バケットにデータをエクスポートします。

    BigQuery からのデータのエクスポートについて請求は発生しませんが、エクスポートしたデータを Cloud Storage へ保存することについては請求が発生します。BigQuery からのエクスポートには、エクスポート ジョブの制限が適用されます。

  2. Cloud Storage バケットから新しいロケーションのリージョンまたはマルチリージョン バケットに、データをコピーするか移動させます。たとえば、米国のマルチリージョン ロケーションから東京のリージョン ロケーションにデータを移動させる場合は、データを東京のリージョン バケットに転送します。Cloud Storage オブジェクトの転送に関する詳細については、Cloud Storage ドキュメントのオブジェクトの名前変更、コピー、移動をご覧ください。

    リージョン間でデータを転送すると、Cloud Storage で下りネットワークの料金が発生することに注意してください。

  3. 新しいロケーションの Cloud Storage バケットにデータを転送したら、新しい BigQuery データセットを(新しいロケーションに)作成します。次に、Cloud Storage バケットから BigQuery にデータを読み込みます。

    BigQuery へのデータの読み込みについて請求は発生しませんが、Cloud Storage へのデータ保存については請求が発生し、データまたはバケットを削除するまで請求が行われます。BigQuery へのデータ保存も、請求の対象になります。BigQuery へのデータの読み込みは、読み込みジョブの制限が適用されます。

Cloud Storage を使用した大量のデータセットの保存や移動に関する詳細情報については、Cloud Storage とビッグデータの使用をご覧ください。

次のステップ

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

ご不明な点がありましたら、Google のサポートページをご覧ください。