対象読者
- データエンジニア、データアナリスト、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のエディションと料金体系」 を解説します。
コスト最適化のポイントや、どのエディションを選ぶべきかを詳しく紹介します。