❄️

3分でわかるSnowflake第2回 アーキテクチャをサクッと解説

に公開

対象読者

  • データエンジニア、データアナリスト、BI担当者
  • クラウドデータウェアハウス(DWH)の導入を検討しているIT部門
  • Snowflakeのアーキテクチャや運用ベストプラクティスを体系的に理解したい方

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

説明すること

  • Snowflakeの3層アーキテクチャの構造と役割
  • 仮想ウェアハウスの仕組みとスケーリング戦略
  • ベストプラクティスとよくある失敗の回避策
  • 他社製品とのアーキテクチャ比較

説明しないこと

  • Snowflakeの内部実装やソースコードレベルの詳細
  • 高度なパフォーマンスチューニングやSQL最適化手法
  • 他社製品の詳細なベンチマークや料金比較

1. Snowflakeアーキテクチャの全体像

Snowflakeは、従来型のオンプレミスDWHとは異なり、ストレージとコンピュートを完全に分離したクラウドネイティブな設計を採用しています。この構造により、高いスケーラビリティ、同時実行性、コスト効率を実現し、柔軟かつ効率的なデータ分析基盤を提供します。

2. Snowflakeの3層アーキテクチャ

Snowflakeは以下の3層で構成されています。それぞれが独立して機能することで、パフォーマンスと可用性を最大化します。

  • Storage(ストレージ層)
    データはカラム型で保存され、自動圧縮および暗号化が施されます。

  • Compute(コンピュート層)
    仮想ウェアハウス(Virtual Warehouse)がクエリを実行し、ワークロードごとに独立したリソースを確保します。

  • Cloud Services(クラウドサービス層)
    認証、メタデータ管理、クエリ最適化、アクセス制御などの制御機能を提供します。

3. 仮想ウェアハウス(Virtual Warehouse)の仕組み

Snowflakeでは、クエリ実行に専用の仮想ウェアハウスを使用します。これにより、ワークロードごとに独立したリソースを確保し、同時実行性とパフォーマンスを最適化します。

特徴:

  • サイズ選択可能(XS~4XL)
  • Auto-Suspend / Auto-Resume対応
  • スケールアップ(サイズ変更)とスケールアウト(マルチクラスタリング)

サンプルSQL:ウェアハウス作成

CREATE WAREHOUSE my_wh
  WITH WAREHOUSE_SIZE = 'SMALL'
  AUTO_SUSPEND = 60
  AUTO_RESUME = TRUE;

4. マルチクラスタリングとスケーリングポリシー

スケーリングの2つの方法

  • スケールアップ:ウェアハウスのサイズを大きくする(例:S → L)
  • スケールアウト:複数クラスタを追加し、同時実行性を向上

スケーリングポリシー

  • Standard:キューを最小化するため積極的にクラスタ追加
  • Economy:コスト重視でクラスタ追加を抑制

5. ベストプラクティス

  • ワークロードごとに専用ウェアハウスを用意
    → BI、ETL、データサイエンスで分離し、競合を回避
  • Auto-Suspendを短めに設定
    → 60秒程度で停止し、コスト効率を最大化
  • Enterprise Edition以上ではマルチクラスタを活用
    → 同時実行性を確保し、パフォーマンスを維持

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

失敗1:1つのウェアハウスに全ワークロードを集中

  • 問題:クエリが競合し、パフォーマンス低下
  • 回避策:用途別にウェアハウスを分割

失敗2:Auto-Suspend未設定でコスト増

  • 回避策AUTO_SUSPENDを必ず設定

7. Snowflake vs Redshift vs BigQuery:アーキテクチャ比較表

項目 Snowflake Amazon Redshift Google BigQuery
アーキテクチャ ストレージとコンピュート完全分離、3層構造 クラスタベース、ストレージとコンピュートは密結合 サーバーレス、ストレージとコンピュート分離
スケーリング スケールアップ+スケールアウト(マルチクラスタ) クラスタサイズ変更のみ(再起動必要) 自動スケーリング(サーバーレス)
課金モデル コンピュート:秒単位、ストレージ:月額 クラスタ時間課金 クエリ課金(スキャンデータ量)
同時実行性 高い(ワークロードごとに独立ウェアハウス) 制限あり(同一クラスタ内で競合) 高い(サーバーレスで自動分散)
Time Travel 最大90日 無し 無し
Fail Safe 7日間(Snowflakeのみ) 無し 無し
セキュリティ デフォルト暗号化、RBAC、マスキング 暗号化あり、IAM連携 暗号化あり、IAM連携
対応クラウド AWS / Azure / GCP AWSのみ GCPのみ
特徴的機能 Zero-Copy Cloning、Snowpipe、Streams & Tasks SpectrumでS3クエリ ML統合(BigQuery ML)

8. 次回予告

次回は 「Snowflakeのエディションと料金体系」 を解説します。
コスト最適化のポイントや、どのエディションを選ぶべきかを詳しく紹介します。

Discussion