← 記事一覧へ
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 アプリで解放できます。