0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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

Posted at

対象読者

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

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?