🐥

SnowPro Core資格への道 ~Part6:フェールセーフ~

に公開

はじめに

9月のSnowflake World Tour TokyoまでにSnowPro Coreをとります!

試験を8月28日(木)に受けようと思います。今日からあと54日。
テストセンターでの受験を申し込みました。もう後には引けませんw頑張ります!
(その前に練習で、Associate受ける可能性ありますが)

今日のお題はフェールセーフ(fail-safe)です。
https://docs.snowflake.com/ja/user-guide/data-failsafe
https://docs.snowflake.com/ja/user-guide/data-availability
https://docs.snowflake.com/ja/user-guide/data-cdp-storage-costs

フェールセーフとは

下記AIさんに聞いてみました。
サポートに問い合わせが必要な機能なのですね。

  • 目的: Snowflakeによる最終的なデータ保護と大規模障害からの回復

    • Time Travel期間が終了した後でも、極めて稀なケース(例:大規模なシステム障害、データセンターレベルの障害、セキュリティ侵害など)において、Snowflakeが顧客のデータを回復できるようにするための、最後の安全策です。

    • ユーザー自身の操作ミスからの復旧というよりは、Snowflake側で提供される「データが失われないための保険」のようなものです。

  • 利用主体: Snowflakeサポートが利用します。

    • ユーザーが直接Fail-safe期間のデータにアクセスしたり、復元したりすることはできません。
    • データの復旧が必要な場合は、ユーザーがSnowflakeサポートに連絡し、特別な要求として依頼する必要があります。
  • 期間: 固定の7日間

    • Time Travel期間が終了した直後から、追加で7日間データが保持されます。この期間は変更できません。
    • Permanentテーブルにのみ適用され、TransientテーブルやTemporaryテーブルには適用されません。
  • コスト:

    • Fail-safe期間中に保持されるデータも、Snowflakeのストレージとして課金されます。
  • 特性:

    • ユーザーがアクセスできない「内部的な」データ保持メカニズムです。
    • データ復旧には時間がかかる場合があります(数時間から数日)。

フェールセーフとタイムトラベルの違い

特徴 タイムトラベル (Time Travel) フェールセーフ (Fail-safe)
目的 ユーザーによる誤操作からの復旧、過去データの参照 Snowflakeによる大規模障害からの最終的なデータ保護・復旧
利用主体 ユーザー自身 Snowflakeサポート
アクセス方法 SQLコマンド (AT, BEFORE, UNDROPなど) Snowflakeサポートへの依頼
期間 ユーザーが設定可能(通常1〜90日) 固定の7日間
開始時期 データ変更・削除後、即座に開始 Time Travel期間終了後
対象テーブル Permanentテーブル、一時的なテーブル (Transient Table) Permanentテーブルのみ
コスト 保持期間中のストレージ使用量に応じて課金 保持期間中のストレージ使用量に応じて課金
用途・緊急性 日常的なデータ回復、監査、分析、開発 極めて稀な、最終手段としてのデータ回復

まとめ

模擬問題を解いていてめっちゃ間違えるので、ブログにしてみました。
Snowflakeサポートに連絡しないと対応してもらえない最後の手段みたいなニュアンスで理解しました。
普段触らない機能だと思ったらなるほど納得です。

Discussion