超わかりやすくSnowflake 関連用語を見ていきましょう

外部テーブル(External Table)

Snowflakeにデータを物理コピーせず、外部ストレージ(Amazon S3、Google Cloud Storage、Azure Blobなど)上のファイルをそのままSQLで参照できる仕組み。
特徴:

  • データをSnowflake内部にロードせずに分析可能
  • 対応フォーマット:Parquet、ORC、Avro、JSON、CSV など
  • メタデータをSnowflakeカタログに登録し、クエリ時に外部データへアクセス
    ユースケース:
    「とりあえずS3の生データをそのまま分析したい」「全部コピーする前にスキーマを確認したい」場合に便利。コスト削減にもつながる。

Snowpipe(スノーパイプ)

Snowflakeのサーバーレスな継続データ取込(Continuous Data Ingestion)機能。
特徴:

  • 外部ストレージにファイルが到着すると自動検知し、ほぼリアルタイムでテーブルに取り込む
  • イベント通知(S3イベント、GCP Pub/Sub、Azure Event Gridなど)やスケジューラ経由で実行可能
  • サーバーレスなのでインフラ管理不要。利用分だけ課金。
    ユースケース:
    「ログがS3に吐き出されるたびに自動でSnowflakeに取り込んで分析できる」など。従来のバッチロードよりも即時性が高い。

Snowflake Streams(ストリーム)

テーブルの変更履歴(INSERT/UPDATE/DELETE)を追跡する仕組み。CDC(Change Data Capture)のSnowflake版。
特徴:

  • テーブルに対する変更内容を「ストリームオブジェクト」として保持
  • ストリームを参照すると差分だけ取得可能
  • タスク(後述)と組み合わせて自動処理に活用できる
    ユースケース:
    「最新データだけを取り込む」「変更分だけ別テーブルに反映」など増分処理を効率化。

Snowflake Tasks(タスク)

スケジュールや依存関係に基づきSQLやストアドプロシージャを自動実行できる機能。AirflowやDagsterに近いが、Snowflake内部でネイティブに実行可能。
ユースケース:

  • 毎日午前3時に集計処理を自動実行
  • ストリームと連携し、変更が入ったら差分ロード → 集計テーブル更新、といったパイプラインを構築

Snowflake Openflow(スノーフレーク・オープンフロー)

Snowflake Openflow は、Snowflake が提供する統合データパイプライン基盤の機能/サービスで、あらゆる種類のデータソースとデスティネーションをつなぎ、構造化・半構造化・非構造化データ、バッチ/ストリーミングデータなどを扱えるようにしたものです。Apache NiFiをベースとし、Snowflakeの管理・セキュリティ・モニタリング等を強化したマネージドサービスです。

最新情報をチェックしよう!