データセットの概要
このページでは、BigQuery のデータセットの概要について説明します。
データセット
データセットは、特定のプロジェクト内に含まれています。データセットは、テーブルとビューへのアクセスを整理して制御するための最上位のコンテナです。テーブルとビューはデータセットに属していなければなりません。したがって、データを BigQuery に読み込む前に、1 つ以上のデータセットを作成する必要があります。データセット名を完全修飾するとき、GoogleSQL では projectname.datasetname 形式、bq コマンドライン ツールでは projectname:datasetname 形式を使用します。
ロケーション
データセットの作成時に BigQuery データを保存するロケーションを指定します。BigQuery データセットのロケーションの一覧については、BigQuery のロケーションをご覧ください。BigQuery では、サービス固有の規約にデータが保存されます。たとえば、データセットのロケーションとして EU または EU にあるリージョンを選択した場合、Core BigQuery Customer Data は EU 内に保存されます。
データセットの作成後はロケーションを変更することはできませんが 。
ロケーションを明示的に指定しない場合、ロケーションは次のいずれかの方法で決定されます。
- リクエストで参照されるデータセットのロケーション。たとえば、クエリが
asia-northeast1リージョンに格納されたデータセット内のテーブルまたはビューを参照する場合、クエリジョブはasia-northeast1で実行されます。 - リクエストで参照される接続に指定されたリージョン。
- 宛先テーブルのロケーション。
ロケーションが明示的に指定されておらず、リクエスト内のリソースから特定できない場合は、デフォルトのロケーションが使用されます。デフォルトのロケーションが設定されていない場合、ジョブは US マルチリージョンで実行されます。
データの保持
データセットでは、削除または変更されたデータを復元が必要となる場合に備えて短時間保持するために、タイムトラベルとフェイルセーフ期間が組み合わせて使用されます。詳細については、タイムトラベルとフェイルセーフによるデータの保持をご覧ください。
外部データセット
BigQuery データセットに加えて、次の外部データセット(外部データソースへのリンク)を作成できます。
外部データセットは連携データセットとも呼ばれ、どちらの用語も同じ意味で使用されます。
作成された外部データセットには、参照先の外部データソースのテーブルが含まれます。これらのテーブルのデータは BigQuery にコピーされず、使用のたびにクエリされます。詳細については、Spanner 連携クエリをご覧ください。
制限事項
BigQuery データセットには次の制限があります。
- データセットのロケーションは、作成時にのみ設定できます。データセットの作成後はそのロケーションを変更できません。
- 1 つのクエリで参照されるすべてのテーブルは、同じロケーションにあるデータセット内に保存されている必要があります。
外部データセットでは一部のオプションがサポートされていません。これには、大文字と小文字を区別しないテーブル名の有効化 / 無効化、テーブルの有効期限、レプリカ、タイムトラベル、デフォルトの照合順序、デフォルトの丸めモードが含まれます。
テーブルをコピーする場合、コピー元とコピー先のテーブルが同じロケーションに存在する必要があります。
データセット名は各プロジェクトで一意である必要があります。
割り当て
データセットの割り当てと上限の詳細については、割り当てと上限をご覧ください。
セキュリティ
BigQuery でデータセットへのアクセスを制御するには、データセットへのアクセスの制御をご覧ください。データ暗号化の詳細については、保存データの暗号化をご覧ください。
次のステップ
- データセット作成の詳細については、データセットの作成をご覧ください。
- データセットにアクセス制御を割り当てる方法について詳しくは、データセットへのアクセス制御をご覧ください。