Bigqueryタイムトラベルとフェイルセーフによるデータの保持

 2025.12.23 XIMIX 花谷

はじめに

タイムトラベル期間とフェイルセーフ期間中は、データセット内のテーブルで変更または削除されたデータは、復元が必要になった場合に備えて引き続き保存されます。

タイムトラベルとデータ保持

デフォルトでは、過去 7 日間のタイムトラベル期間内であれば、任意の時点の変更または削除されたデータにアクセスできます。

  • タイムトラベルで出来ること

    更新されたデータや削除されたデータのクエリを実行
    削除されたテーブルやデータセットの復元
    期限切れのテーブルの復元
    テーブルを特定時点に復元

  • タイムトラベルの期間の長さ
    2~7 日の範囲で設定可能
     設定基準
      【更新または削除されたデータを復元できることが重要な場合】
           → 期間を長くする。

      【ストレージ費用を節約する場合】 
          →物理ストレージの課金モデルを使用する場合、効果あり。
             ※論理ストレージの料金モデルを使用する場合は、
                 この費用削減は適用されません。

          
  •  タイムトラベルの構成
     適用対象
      プロジェクト
      データセット

     これらの設定は、プロジェクト、データセットに関連つけられる
     テーブルに適用されます。
     プロジェクト レベルのタイムトラベル期間を設定する
  •  プロジェクト レベルのタイムトラベル期間設定
     プロジェクト レベルのデフォルトのタイムトラベル期間を
         指定するには、データ定義言語(DDL)ステートメントを使用します

     参照「構成設定を管理する  

  • データセット レベルのタイムトラベル期間設定
    タイムトラベル期間を指定または変更する方法、以下の3つがあります。

     ①Google Cloud コンソール
            
     ②bq コマンドライン ツール
            
       ③BigQuery API を使用
           
    詳細は、下記リンクをご確認下さい。
    プロジェクトレベルの設定
      「構成設定を管理する
    データセットレベルの設定
      新規データセットの作成
       「データセットの作成
      既存データセットの期間変更
       「タイムトラベル期間を更新


フェールセーフ

BigQuery にはフェイルセーフ期間が用意されています。フェイルセーフ期間中は、削除されたデータがタイムトラベル期間が経過した後、
さらに 7 日間自動的に保持されるため、そのデータを緊急復旧に利用できます。データはテーブルレベルで復元できます。
データは、テーブル削除時のタイムスタンプが示す時点から復元されます。フェイルセーフ期間は構成できず、延長もできません。

  • フェイルセーフ期間の復旧方法
    フェイルセーフ ストレージ内のデータに対するクエリ実行や直接復元はできません。フェイルセーフ ストレージからデータを復元するには、Cloud カスタマーケアに連絡して下さい。

データ保持イメージ

下記の表は、削除されたデータまたは変更されたデータがストレージ保持期間間でどのように移動するかを示しています。この例では、アクティブなストレージの合計が 200 GB で、50 GB が削除され、タイムトラベル ウィンドウが 7 日間に設定されています。

課金

  • 物理バイト数を使用するようにストレージ課金モデルの場合
        タイムトラベル ストレージとフェイルセーフ ストレージに
        使用されるバイト数は別途課金されます。

  • 論理バイト数を使用するようにストレージ課金モデルの場合
     タイムトラベル ストレージとフェイルセーフ ストレージの
        合計ストレージ費用は、課金される基本料金に含まれます。
  • 【参考資料】物理ストレージと論理ストレージの費用の比較

制限事項

タイムトラベルによるデータ取得には、次の制限があります

  • タイムトラベルは、タイムトラベル期間中の履歴データにのみアクセス可能   
  • テーブルに行レベルでアクセス ポリシーが設定されている(または、すでに設定されていた)場合は、テーブル管理者のみがタイムトラベルを使用可能。
  • タイムトラベルではテーブルのメタデータは復元できない。
  • タイムトラベルは、次のテーブルタイプではサポートされていない

     外部テーブル(※Apache Iceberg 外部テーブル以外)
     一時キャッシュのクエリ結果テーブル
     一時セッション テーブル
     一時的なマルチステート

まとめ

タイムトラベルは、過去データを気軽に復旧できる。持するストレージが論理ストレージであれば、追加費用はかからないので使い勝手がよい。フェールセーフは、タイムトラベル保持期間外でどうしても復旧したいデータがある場合、バックアップがなくてもデータ復旧可能です

          


BACK TO LIST

   

Recent post最新記事

Contentsコンテンツ