テーブル クローンの概要

このドキュメントでは、BigQuery でのテーブル クローンの概要について説明します。対象読者には、BigQuery と BigQuery テーブルについて理解されている方を想定しています。

テーブル クローンは、別のテーブル(ベーステーブル)の軽量かつ書き込み可能なコピーです。ベーステーブルとは異なるテーブル クローンのデータ ストレージに対してのみ課金されるため、最初はテーブル クローンに対するストレージ コストは発生しません。ストレージの課金モデルとベーステーブルの追加メタデータ以外は、テーブル クローンは標準のテーブルと類似しており、クエリ、コピーの作成、削除などを行えます。

テーブル クローンの一般的なユースケースには、次のものがあります。

  • 開発とテストに使用できる本番環境テーブルのコピーを作成する。
  • 本番環境のすべてのデータを物理的にコピーすることなく、ユーザーが独自の分析やデータ操作を生成できるサンドボックスを作成する。変更されたデータのみが課金対象となります。

作成したテーブル クローンは、ベーステーブルから独立しています。ベーステーブルまたはテーブル クローンに変更を加えても、他方には反映されません。

読み取り専用のテーブルの軽量なコピーが必要な場合は、テーブル スナップショットの使用を検討してください。

テーブル クローンのメタデータ

テーブル クローンには、標準テーブルと同じメタデータに加えて、以下のものが含まれます。

  • テーブル クローンのベーステーブルのプロジェクト、データセット、名前。
  • テーブル クローンのオペレーションの時刻。タイムトラベルを使用してテーブル クローンを作成した場合、作成時刻はタイムトラベル タイムスタンプです。

詳細については、INFORMATION_SCHEMA.TABLES をご覧ください。

テーブル クローン オペレーション

一般に、テーブル クローンは標準テーブルと同様に使用します。これには次のオペレーションが含まれます。

  • クエリ
  • アクセス制御
  • メタデータの取得
  • パーティショニングとクラスタリング
  • スキーマの操作
  • 削除

ただし、テーブル クローンの作成は標準テーブルの作成とは異なります。詳細については、テーブル クローンを作成するをご覧ください。

ストレージの費用

テーブル クローンにはストレージ費用が適用されますが、BigQuery では、別のテーブルにまだ課金されていないテーブル クローンのデータに対してのみ課金されます。

  • テーブル クローンを作成すると、最初はテーブル クローンのストレージ費用が発生しません。

  • テーブル クローンでデータが追加または変更された場合、追加または更新されたデータのストレージに対して課金されます。

  • テーブル クローンにも存在するベーステーブル内のデータを変更または削除すると、変更または削除されたデータのテーブル クローン ストレージに対して課金されます。変更または削除されたデータを含むクローンが複数ある場合は、最も古いクローンで使用されているストレージに対してのみ課金されます。

  • テーブル クローンの作成後にデータがベーステーブルに追加された場合、テーブル クローン内のそのデータのストレージに対しては課金されませんが、ベーステーブルでは課金されます。

次の図に、ベーステーブルとテーブル クローンのストレージ料金の違いを示します。

テーブル クローンの請求の例

詳細については、BigQuery のストレージの料金をご覧ください。

制限事項

  • 同じプロジェクト内のデータセット間と、別のプロジェクトのデータセット間でテーブルのクローンを作成できます。ただし、テーブル クローンの宛先データセットは、同じリージョン内、およびクローンを作成するテーブルと同じ組織下に存在する必要があります。たとえば、EU にあるデータセットから US にあるデータセットにテーブルのクローンを作成することはできません。
  • テーブルのデータセットのタイムトラベル期間を超える期間が経過しているため、テーブルのデータのクローンを作成できません。
  • ビューマテリアライズド ビューのクローンは作成できません。
  • 外部テーブルのクローンは作成できません。
  • テーブル クローンを作成する際に、既存のテーブルやテーブル クローンを上書きすることはできません。特定の制限事項については、テーブルの命名をご覧ください。
  • 書き込みが最適化されたストレージ(最近ストリーミングされた行のストリーミング バッファ)のデータが含まれるテーブル クローンを作成する場合、書き込みが最適化されたストレージのデータはテーブル クローンの作成に含まれません。
  • タイムトラベルのデータを含むテーブルのクローンを作成した場合、タイムトラベルのデータはテーブル クローンに含まれません。
  • テーブル クローンと [エクスプローラ] ペインの標準テーブルを区別することはできません。ただし、テーブルの詳細を調べることで、標準のテーブルからテーブル クローンを見分けることはできます。テーブル クローンの詳細には、標準テーブルにはない [ベーステーブル情報] セクションがあります。
  • クローン オペレーションを使用して既存のテーブルにデータを追加することはできません。たとえば、同じ bq cp コマンドでフラグ設定 --append_table=true--clone=true を使用することはできません。テーブルを複製するときにデータを追加するには、代わりにコピー オペレーションを使用します。
  • テーブル スナップショットを作成する際、その名前は、テーブルの作成時と同じ命名規則を遵守する必要があります。
  • テーブル クローンの作成には、コピージョブに関する BigQuery の制限が適用されます。
  • BigQuery では、基盤となるストレージが動的に管理されるため、テーブル クローンの作成にかかる時間は、異なる実行ごとに大きく変わる可能性があります。

割り当てと上限

テーブル クローンには、標準テーブルと同じ割り当てと上限が適用されます。詳細については、テーブルの割り当てと上限をご覧ください。また、テーブル クローンの上限も適用されます。

次のステップ