データセットのロケーション
このページでは、データのロケーションのコンセプトと、データセットを作成できるロケーションの種類について説明します。データセットのロケーションを設定する方法については、データセットの作成をご覧ください。
各リージョンの BigQuery の料金については、料金ページをご覧ください。
主なコンセプト
ロケーションまたはリージョンのタイプ
BigQuery は次の 2 種類のロケーションを使用します。
リージョンは、ロンドンなどの特定の地理的な場所となります。
マルチリージョンは、米国などの、2 つ以上の地理的な場所を含む広い地理的なエリアとなります。
データセットのロケーション
データセットの作成時に BigQuery データを保存するロケーションを指定します。データセットを作成した後、ロケーションを変更することはできませんが、データセットを別のロケーションにコピーするか、手動でデータセットを別のロケーションに移動(再作成)することができます。
BigQuery は、クエリを実行するテーブルを含むデータセットと同じ場所にあるクエリを処理します。
BigQuery では、サービス固有の規約に従って、選択したロケーションにデータが保存されます。
サポートされるリージョン
BigQuery データセットは、次のリージョンとマルチリージョンに保存できます。リージョンとゾーンの詳細については、地域とリージョンをご覧ください。
地域
次の表は、BigQuery が利用可能な南北アメリカのリージョンを示したものです。リージョンの説明 | リージョン名 | 詳細 |
---|---|---|
アイオワ | us-central1 |
|
ラスベガス | us-west4 |
|
ロサンゼルス | us-west2 |
|
モントリオール | northamerica-northeast1 |
|
北バージニア | us-east4 |
|
オレゴン | us-west1 |
|
ソルトレイクシティ | us-west3 |
|
サンパウロ | southamerica-east1 |
|
サンティアゴ | southamerica-west1 |
|
サウスカロライナ | us-east1 |
|
トロント | northamerica-northeast2 |
|
リージョンの説明 | リージョン名 | 詳細 |
---|---|---|
デリー | asia-south2 |
|
香港 | asia-east2 |
|
ジャカルタ | asia-southeast2 |
|
メルボルン | australia-southeast2 |
|
ムンバイ | asia-south1 |
|
大阪 | asia-northeast2 |
|
ソウル | asia-northeast3 |
|
シンガポール | asia-southeast1 |
|
シドニー | australia-southeast1 |
|
台湾 | asia-east1 |
|
東京 | asia-northeast1 |
リージョンの説明 | リージョン名 | 詳細 |
---|---|---|
ベルギー | europe-west1 |
|
フィンランド | europe-north1 |
|
フランクフルト | europe-west3 |
|
ロンドン | europe-west2 |
|
オランダ | europe-west4 |
|
ワルシャワ | europe-central2 |
|
チューリッヒ | europe-west6 |
|
マルチリージョン
次の表に、BigQuery を利用可能なマルチリージョンを示します。マルチリージョンの説明 | マルチリージョン名 |
---|---|
欧州連合の加盟国内のデータセンター1 | EU |
米国内のデータセンター | US |
1 EU
マルチリージョン内のデータは europe-west2
(ロンドン)や europe-west6
(チューリッヒ)のデータセンターには保存されません。
ロケーションを指定する
BigQuery は、データの読み込み、データのクエリ、データのエクスポートを行うときに、リクエストで参照されるデータセットに基づいてジョブを実行するロケーションを決定します。たとえば、クエリが asia-northeast1
リージョンに格納されたデータセット内のテーブルを参照する場合、クエリジョブはそのリージョンで実行されます。クエリがデータセット内のテーブルやその他のリソースを参照せず、宛先テーブルが指定されていない場合、クエリジョブは US
マルチリージョンで実行されます。プロジェクトに US
以外のリージョンで定額料金の予約があり、クエリがデータセット内のテーブルやその他のリソースを参照していない場合は、ジョブの送信時に定額料金の予約があるロケーションを明示的に指定する必要があります。
ジョブを明示的に実行するロケーションは、次の方法で指定できます。
- Cloud Console を使用してデータをクエリする場合は、[展開] > [クエリの設定] をクリックし、[処理を行うロケーション] で [自動選択] をクリックして、データのロケーションを選択します。
bq
コマンドライン ツールを使用する場合、--location
グローバル フラグを指定し、その値を該当するロケーションに設定します。- API を使用する場合は、ジョブリソースの
jobReference
セクションにあるlocation
プロパティで該当するリージョンを指定します。
指定したロケーションがリクエスト内のデータセットのロケーションと一致しない場合、BigQuery はエラーを返します。リクエストに関連するすべてのデータセット(読み取り / 書き込みを含む)の場所は、推定されるジョブまたは指定されたジョブのロケーションと一致する必要があります。
シングル リージョンのロケーションがマルチリージョンのロケーションに関連付けられている場合でも、シングルのリージョンのロケーションはマルチリージョンのロケーションと一致しません。したがって、関連付けられたロケーションのセットにシングル リージョンのロケーションとマルチリージョンのロケーションの両方が含まれている場合、ジョブは常に失敗します。たとえば、ジョブのロケーションが US
に設定されている場合、us-central1
のデータセットを参照すると、ジョブが失敗します。同様に、US
にあるデータセットと us-central1
にある別のデータセットを参照するジョブも失敗します。
ロケーションに関する留意事項
データのロケーションを選択するときは、次の点を考慮してください。
- 外部データソースを使用する場合は、BigQuery データセットを同じロケーションに配置します。
- クラウド ストレージ: BigQuery の外部テーブル経由でクラウド ストレージのデータをクエリする場合、クエリするデータは BigQuery データセットと同じロケーションに配置する必要があります。例:
- 単一リージョン: BigQuery データセットがワルシャワ(EUROPE-CENTRAL2)リージョンのロケーションにある場合、対応する Cloud Storage バケットもワルシャワ リージョンにある必要があります。これは現在、ワルシャワを含む Cloud Storage のデュアルリージョンがないためです。
- デュアルリージョン: BigQuery データセットが東京(ASIA-NORTHEAST1)リージョンにある場合、対応する Cloud Storage バケットは東京リージョンまたは ASIA1 デュアルリージョン(東京を含む)のバケットである必要があります。
- マルチリージョン: 外部クエリのパフォーマンスは最小のレイテンシと最適なネットワーク帯域幅によって決まるため、マルチリージョンの Cloud Storage バケットでは、外部テーブルとしてマルチリージョン データセットを持つロケーションを使用することはおすすめしません。
- Cloud Bigtable: BigQuery の外部テーブルを介して Cloud Bigtable のデータに対してクエリを実行する場合、Cloud Bigtable インスタンスは BigQuery データセットと同じロケーションに存在する必要があります。
- 単一リージョン: BigQuery データセットがベルギー(europe-west1)のリージョン ロケーションにある場合、対応する Cloud Bigtable インスタンスはベルギーのリージョンにある必要があります。
- マルチリージョン: 外部クエリのパフォーマンスは最小のレイテンシと最適なネットワーク帯域幅によって決定されるため、Cloud Bigtable の外部テーブルではマルチリージョン データセットのロケーションを使用することはおすすめしません。
- Google ドライブ: ロケーションに関する考慮事項は、Google ドライブの外部データソースには適用されません。
- データを読み込むには、Cloud Storage バケットを同じリージョンに配置する
- BigQuery データセットがマルチリージョンにある場合、読み込み対象のデータが含まれている Cloud Storage バケットは、同じマルチリージョンまたはマルチリージョンに含まれるロケーションに存在する必要があります。たとえば、BigQuery データセットが「EU」マルチリージョンにある場合、Cloud Storage バケットは EU 内の「europe-west1」ベルギー リージョンに配置できます。
- データセットがリージョンにある場合、Cloud Storage バケットは同じリージョンに存在する必要があります。たとえば、データセットが「asia-northeast1」東京リージョンにある場合、Cloud Storage バケットを「ASIA」マルチリージョンに配置することはできません。
- 例外: データセットが「US」マルチリージョンにある場合は、任意のロケーションの Cloud Storage バケットからデータを読み込むことができます。
- データをエクスポートするには Cloud Storage バケットを同じリージョンに配置する
- BigQuery データセットがマルチリージョンにある場合、エクスポート対象のデータが含まれている Cloud Storage バケットは、同じマルチリージョンまたはマルチリージョンに含まれるロケーションに存在する必要があります。たとえば、BigQuery データセットが「EU」マルチリージョンにある場合、Cloud Storage バケットは EU 内の「europe-west1」ベルギー リージョンに配置できます。
- データセットがリージョンにある場合、Cloud Storage バケットは同じリージョンに存在する必要があります。たとえば、データセットが「asia-northeast1」東京リージョンにある場合、Cloud Storage バケットを「ASIA」マルチリージョンに配置することはできません。
- 例外: データセットが「US」マルチリージョンにある場合、任意のロケーションにある Cloud Storage バケットにデータをエクスポートできます。
- データ管理計画を作成する
- BigQuery データセットや Cloud Storage バケットなどのリージョン ストレージ リソースを選択する場合は、データの地理的管理を行うための計画を作成します。
Cloud Storage のロケーションの詳細については、Cloud Storage のドキュメントのバケットのロケーションをご覧ください。
ロケーションを制限する
組織のポリシー サービスを使用して、データセットを作成できるロケーションを制限できます。詳細については、リソース ロケーションの制限とリソース ロケーションのサポート対象サービスをご覧ください。
データセットのセキュリティ
BigQuery でデータセットへのアクセスを制御するには、データセットへのアクセスの制御をご覧ください。データ暗号化の詳細については、保存データの暗号化をご覧ください。
次のステップ
- データセットを作成する方法を学びます。
- BigQuery へのデータの読み込みについて学びます。
- BigQuery の料金について学びます。
- 世界中のロケーションで利用可能なすべての Google Cloud Platform サービスを確認します。
- 他の Google Cloud Platform サービスに適用される、ゾーンなどの追加のロケーションに基づくコンセプトを確認します。