ホーム » データサイエンス » Snowflake » ❄️ Snowflakeの4種類のテーブル

❄️ Snowflakeの4種類のテーブル

Snowflakeでは、用途や保持期間、復元性、コストなどの要件に応じて4種類のテーブルを使い分けることができます。それぞれのテーブルタイプの特徴を、以下のように体系的にまとめます。


テーブルタイプ保存期間Time TravelFail-safe主な用途・特徴
Permanent(永続)永続的最大90日(デフォルト1日)7日間通常のプロダクションデータ、バックアップやアーカイブにも適
Transient(一時的)永続的最大1日(デフォルト1日)なし一時的だが再利用するデータ、コスト削減重視の用途
Temporary(一時)セッション中セッション中のみ有効なしステージング、ETL中間データ、一時的な演算結果保存
External(外部)外部ストレージなしなしS3などの外部ストレージにあるデータを仮想的に参照

🔍 各タイプの補足説明

✅ 1. Permanent Table(永続テーブル)

  • デフォルトのテーブルタイプ。
  • Time TravelとFail-safeが利用可能で、バックアップやデータ保全に最適
  • コストは最も高いが、重要データの保持に向く。

✅ 2. Transient Table(トランジェントテーブル)

  • Fail-safeが無効化されているため、コスト削減に向く
  • Time Travelは使用可能(最大1日)。
  • ログデータや一時的だがセッションを超えて使いたいデータに適している。

✅ 3. Temporary Table(テンポラリテーブル)

  • セッションが終了すると自動削除。
  • 他のユーザーやセッションからは見えない。
  • ETL処理の一時保存に最適で、性能面でも軽量。

✅ 4. External Table(外部テーブル)

  • 実体はSnowflake外(例:Amazon S3)にある。
  • スキーマ定義はSnowflake内に持ち、データはクエリ時にアクセス
  • データレイク連携や大規模ログ分析などに使用される。

💡 選び方の観点まとめ

観点推奨テーブルタイプ
高可用性・安全性Permanent
コスト削減Transient or Temporary
一時利用Temporary
外部連携External