Professional Data Engineer試験では、BigQueryのデータ管理に関する知識が頻出です。その中でも「Time Travel」という機能は、過去の状態にさかのぼってデータを参照できる強力な仕組みですが、保持期間やコストの制約を理解していないと試験で迷います。私自身も勉強中に「誤って削除したテーブルをどこまで戻せるのか?」「長期的な監査には使えるのか?」と混乱しました。本記事では、Time Travelの基本と試験で問われやすいポイントを整理します。
Time Travelが混乱を招く理由
- 「過去に戻れる」と聞くと無制限に思えてしまう
- 実際には保持期間が決まっている
- バックアップやアーカイブと混同しやすい
- 試験問題では「監査」や「誤削除リカバリ」といったシナリオで登場する
Time Travelの仕組み
標準の保持期間
BigQueryのTime Travelは、テーブルの過去の状態をデフォルトで 7日間 保存します。この間であれば、クエリ時にFOR SYSTEM_TIME AS OF
を指定して過去のスナップショットにアクセスできます。
料金と制約
Time Travel機能自体に追加課金はありませんが、保持されている過去データは通常のストレージ課金対象となります。長期監査に利用するにはコストと保持期間の制約がある点に注意が必要です。
一次情報:
試験で問われやすいユースケース
誤削除のリカバリ
テーブルを誤って削除した場合でも、保持期間内であれば復元可能です。試験問題で「直近数日のデータを復旧したい」とあればTime Travelが解答候補です。
誤更新やデータ破損の確認
更新やMERGE操作でデータを壊した場合でも、過去のスナップショットにクエリすることで差分を確認できます。
長期監査や規制要件には不適
試験では「1年分の履歴を保持」といった条件が出る場合があります。Time Travelは7日間に限られるため、この場合は Partitioned Tableの監査ログやDataflowによるCDC処理 を選択するのが正解です。
Time Travelと他機能の関係
- バックアップ・アーカイブ → 長期保存や規制対応向け。Time Travelでは不十分。
- Change Data Capture (CDC) → 長期の差分管理にはCDCが有効。
- スナップショットテーブル → 7日以上保持したい場合は明示的にスナップショットを作成。
一次情報:
- スナップショットテーブル: https://cloud.google.com/bigquery/docs/table-snapshots-intro
- CDC(DataStream経由): https://cloud.google.com/datastream/docs/overview
試験での判断基準
- 「直近数日」「削除や誤更新のリカバリ」→ Time Travel
- 「数か月〜数年の保持」→ スナップショットテーブルやCDC
- 「バックアップや規制対応」→ Time Travelではない
実務と試験での整理の違い
実務では「とりあえず7日間戻れる」安心感から利用するケースが多いですが、ガバナンスやコンプライアンス要件を満たすには不十分です。試験では「Time Travelは短期的な誤操作対応」と整理しておくと、選択肢で迷いません。
まとめ
BigQuery Time Travelは便利な機能ですが、保持期間は7日間に限られます。PDE試験では「誤削除・誤更新の短期復旧」に使えるが、「長期監査や規制対応」には向かないと整理してください。読了後は、公式ドキュメントでFOR SYSTEM_TIME AS OF
の使用例を確認し、クエリでの利用イメージを掴んでおくと理解が定着します。