1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

3分でわかるSnowflake第6回 便利機能:Time Travel・Fail Safe・Zero-Copy Cloningをサクッと解説

Posted at

対象読者

  • データエンジニア、データアナリスト、開発担当者
  • Snowflakeの運用効率化やデータ保護を重視する技術者
  • 開発・検証環境の効率化を目指す管理者

説明すること / 説明しないこと

説明すること

  • Time Travel、Fail Safe、Zero-Copy Cloningの概要と活用方法
  • Table Typesとストレージコスト最適化のポイント
  • ベストプラクティスとよくある失敗の回避策

説明しないこと

  • Snowflakeの内部実装や暗号化アルゴリズムの詳細
  • 他社DWHとの詳細な比較やベンチマーク
  • 高度なSQLチューニングやパフォーマンス最適化手法

1. なぜこれらの機能が重要なのか

Snowflakeは、データ保護を強化し、開発効率を向上させるために、他のDWHにはない高度な機能を提供します。これにより、運用リスクを低減し、迅速な開発を実現します。
本記事では、以下の3つを中心に解説します。

  • Time Travel:過去のデータにアクセス
  • Fail Safe:災害復旧のための最終手段
  • Zero-Copy Cloning:データコピーなしで複製

2. Time Travel:過去のデータを簡単に復元

Time Travelを利用することで、過去のデータベース、スキーマ、テーブルの状態に容易にアクセスでき、誤削除や検証作業に迅速に対応できます。

特徴

  • 保持期間:Standardは1日、Enterprise以上は最大90日
  • 用途
    • 誤削除データの復元
    • 過去スナップショットでの検証

サンプルSQL

-- 過去の状態を参照
SELECT * FROM orders AT (TIMESTAMP => '2025-08-01 00:00:00');

-- 過去の状態を基にテーブルを復元
CREATE TABLE orders_restore CLONE orders
BEFORE (TIMESTAMP => '2025-08-01 00:00:00');

3. Fail Safe:災害復旧のための最後の砦

Fail Safeは、Time Travel期間終了後の7日間、Snowflakeがデータを保持する仕組みです。

  • ユーザー操作不可(復旧はSnowflakeサポートのみ)
  • 対象:Permanentテーブルのみ
  • 注意:ストレージコストに影響

4. Zero-Copy Cloning:データコピーなしで複製

Zero-Copy Cloningは、データを物理的にコピーせずにテーブル、スキーマ、データベースを複製でき、ストレージコストを削減し、環境構築を高速化します。

  • 用途
    • 開発・テスト環境の作成
    • 本番データを使った検証
  • メリット
    • ストレージコスト削減
    • 作成が高速

サンプルSQL

-- テーブルをクローン
CREATE TABLE dev_orders CLONE prod_orders;

-- スキーマをクローン
CREATE SCHEMA dev_schema CLONE prod_schema;

5. Table Typesとストレージコスト最適化

Snowflakeには3種類のテーブルタイプがあります。

  • Permanent:Time Travel(最大90日)+Fail Safe
  • Transient:Time Travel(最大1日)、Fail Safeなし
  • Temporary:セッション終了時に削除

ベストプラクティス

  • 開発・検証用:TransientまたはTemporary
  • 本番データ:Permanent

6. ベストプラクティス

  • Time Travel期間を最小限に設定(不要なストレージコストを防ぐ)
  • 開発環境はZero-Copy Cloningで作成
  • Fail Safeは最後の手段と認識し、Time Travelで復旧できるように運用

7. よくある失敗と回避策

失敗1:Time Travelを90日に設定してコスト増

  • 回避策:開発環境はTRANSIENTテーブルを使用

失敗2:クローン後に元データを削除して影響発生

  • 回避策:クローンはメタデータ参照なので、元データ削除に注意

8. 次回予告

次回は 「Snowflakeのデータ共有とセキュリティ」 を解説します。
RBAC、データマスキング、Reader Accountの仕組みを詳しく紹介します。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?