CertiQ
← 記事一覧へ
SnowPro Coreアーキテクチャ

Snowflake の3層アーキテクチャを図解で理解する

SnowPro Core(COF-C03) で絶対に押さえるべき図が1つあるとすれば、それは Snowflake の3層アーキテクチャです。頻出であるだけでなく、これを理解するとプラットフォーム全体の仕組みが腑に落ちます。

Snowflake はデータウェアハウスを独立した3つの層に分けています。

1. クラウドサービス層(Cloud Services)

すべてを統括する「頭脳」にあたる層です。担当するのは:

  • 認証とアクセス制御
  • クエリの最適化とコンパイル
  • メタデータの管理
  • トランザクションとインフラ管理

典型的な試験問題では「クエリ最適化とメタデータを担当する層は?」と問われます。答えはコンピュート層ではなくクラウドサービス層です。

2. コンピュート層(クエリ処理)

実際にクエリが実行される層で、仮想ウェアハウス(独立したコンピュートリソースのクラスタ)を使います。ポイント:

  • 各仮想ウェアハウスは分離されており、あるワークロードが他を遅くしない
  • ウェアハウスは個別にサイズ変更・起動できる
  • 課金は稼働中のみ

3. ストレージ層(Database Storage)

データはこの層に、Snowflake が最適化・圧縮したカラムナ形式でクラウドオブジェクトストレージ(S3 / Azure Blob / GCS)に保存されます。ファイルを直接管理する必要はなく、すべて Snowflake が行います。

なぜ分離が重要なのか

ストレージとコンピュートが分離されているため:

  • ストレージに触れずにコンピュートだけを増減できる
  • 同じデータに対して複数のウェアハウスをコピーなしで実行できる
  • ストレージとコンピュートを別々に課金できる

この分離こそ Snowflake で最も重要なアーキテクチャの考え方であり、試験で「エラスティック」「マルチクラスタ」が頻出する理由です。

試験のコツ

最適化・トランザクション・メタデータが出たら、ほぼクラウドサービス層クエリ実行仮想ウェアハウスならコンピュート層。データが物理的にどこにあるかならストレージ層です。


腕試しは、学習セクションの無料 SnowPro Core 問題でどうぞ。全ドメインと本格模試は CertiQ アプリで解放できます。