SnowPro Guide
ホーム About 【模擬試験】SnowPro Core 266問 →

Snowflake 3レイヤーアーキテクチャ詳解|COF-C03 Domain 1.1対策



1はじめに

Snowflakeの3レイヤーアーキテクチャは、SnowPro Core試験の全ドメインに関わる基礎概念です。パフォーマンス、コスト最適化、セキュリティなど、試験の他の分野を理解するうえでも、この設計思想を正しく押さえておくことが重要です。

COF-C03のDomain 1.0「Snowflake AI Data Cloud Features and Architecture」は配点31%を占めており、その最初の試験目標(1.1)がこの3レイヤーアーキテクチャです。

本記事では、公式ドキュメントに基づいて「どの処理が、どのレイヤーで行われるのか」を軸に整理します。

この記事を読むと分かること
・Snowflakeの3レイヤー構成を正確に説明できる
・「この処理はどのレイヤーか?」に即答できる
・Domain 1.0の他の試験目標(ウェアハウス、ストレージ等)を理解するための土台が身につく👉 Domain 1.0の全6目標の概要は「COF-C03 Domain 1.0対策|全6目標を日本語で解説」をご覧ください。

2そもそも3レイヤーアーキテクチャとは?

Snowflakeの3レイヤーアーキテクチャ

※ Snowflakeの3レイヤーアーキテクチャ(公式ドキュメントを基に作成)

Snowflakeの最大の特徴は、ストレージ・コンピュート・クラウドサービスの3レイヤーが完全に分離されている点です。

レイヤー 主な役割 キーワード
ストレージ層 データの永続化 マイクロパーティション、圧縮、列指向
コンピュート層 クエリの実行 Virtual Warehouse、スケーリング
サービス層 メタデータ管理・最適化・認証 RBAC、クエリ最適化、トランザクション

このComputeとStorageの分離は、Snowflakeのパフォーマンスと柔軟性を支える中核概念です。ComputeとStorageが独立しているため、データ量が増えてもクエリ性能に影響を与えず、逆にコンピュートリソースを増減してもストレージコストは変わりません。

3ストレージ層(Storage Layer)

役割

ストレージ層は、データの保存を担当します。Snowflakeにロードされたデータは自動的に圧縮・最適化され、クラウドストレージ上に保存されます。

クラウドプロバイダー ストレージサービス
AWS S3
Azure Blob Storage
GCP Cloud Storage

特徴

自動管理

ユーザーは保存場所やファイル形式を意識する必要がありません。データは自動でマイクロパーティションに分割され、列指向フォーマットで圧縮・保存されます。ストレージは複数のWarehouseから共有アクセスされます。

マイクロパーティション

Snowflakeのデータは、非圧縮時で50〜500MB(圧縮後は約16MB)のイミュータブル(不変)なマイクロパーティションに分割されます。各パーティションにはカラムごとのmin/max値、distinct値の数、NULL数などの統計情報がサービス層のメタデータとして記録され、クエリ時のパーティションプルーニング(不要なパーティションの読み飛ばし)に使われます。

学習のポイント

よくある誤解 正誤 解説
Snowflakeでインデックスを作成できる Snowflakeにインデックスは存在しない。マイクロパーティションのプルーニングで代替
ユーザーがパーティションを定義する パーティションは自動で管理される。クラスタリングキーで物理的な並び順は制御可能
データは自動で圧縮・管理される 列指向フォーマットで自動圧縮。ユーザーによる管理は不要

4コンピュート層(Compute Layer)

役割

SQLクエリを実行するためのコンピュートリソースを提供します。Snowflakeでは、これを仮想ウェアハウス(Virtual Warehouse)と呼びます。

主な特徴

スケーラブル

ウェアハウスのサイズはX-Small〜6X-Largeまで柔軟に変更可能です。Auto-suspend(自動停止)とAuto-resume(自動再開)に対応しており、ワークロードごとにWarehouseを分離できます。

独立性

各Warehouseは独立したコンピュートクラスターです。あるWarehouseの負荷が他のWarehouseのパフォーマンスに影響を与えることはありません。

学習のポイント

ポイント 正誤 解説
クエリ実行にはWarehouseが必要 ただしメタデータのみで回答できるクエリ(COUNT(*)等)はWarehouse不要の場合がある
Warehouse停止中も計算が行われる 停止中は課金も計算も停止する
結果キャッシュはWarehouseをまたいで再利用可能 クエリ結果キャッシュはサービス層で管理されるため、Warehouseに依存しない
仮想ウェアハウスの詳細(タイプ、スケーリングポリシー、ユースケース別の構成、ベストプラクティス)については「COF-C03 Domain 1.0対策|全6目標を日本語で解説」のセクション6で詳しく解説しています。



5サービス層(Cloud Services Layer)

役割

Snowflake全体を制御・最適化する中枢レイヤーです。ユーザーのすべてのリクエストは最初にこのレイヤーを通過します。

サービス層の主な機能

クエリ解析・最適化

ユーザーが発行したSQLを解析し、最適な実行計画を作成してコンピュート層に送ります。

認証・アクセス制御

ユーザー認証、RBAC(ロールベースアクセス制御)、ネットワークポリシーなどのセキュリティ機能を管理します。

トランザクション管理

データの一貫性を保つためのトランザクション管理を行います。

メタデータ管理

テーブル定義、マイクロパーティション情報、統計情報(min / max値など)を管理します。メタデータはサービス層で管理されるという点は重要です。ストレージ層やコンピュート層と混同しないように注意してください。

課金について

サービス層の利用は、日次のクラウドサービス使用量が仮想ウェアハウスの日次使用量の10%を超えた場合に、その超過分のみ課金されます。

学習のポイント

問われる内容 正誤
メタデータはストレージ層で管理される
メタデータはWarehouse(コンピュート層)で管理される
メタデータはサービス層で管理される ✓ 正解

63レイヤー分離のメリット
メリット 詳細
独立スケーリング ComputeとStorageを独立して拡張・縮小できる。データ量が増えてもクエリ性能に影響しない
コスト最適化 使わないWarehouseはAuto-suspendで停止し、クレジット消費を抑制できる
ワークロード分離 ETL、BI、データサイエンスなどのワークロードを別々のWarehouseで実行し、相互影響を防止
同時実行性 複数のWarehouseが同じストレージに同時アクセスでき、競合なく並列処理が可能

7まとめ
レイヤー 覚えること
ストレージ データ保存のみ。自動圧縮・自動パーティション。ユーザーによる管理は不要
コンピュート 仮想ウェアハウスでクエリ実行。各Warehouseは独立。停止中は課金なし
サービス 最適化・認証・メタデータ管理。Snowflakeの頭脳。10%ルールで通常無料

3レイヤーアーキテクチャの理解は、パフォーマンスやコスト最適化など他のドメインの学習にもそのまま活きます。

👉 Domain 1.0の全6目標(アーキテクチャ、ツール、オブジェクト階層、ウェアハウス、ストレージ、AI/ML)の概要は「COF-C03 Domain 1.0対策|全6目標を日本語で解説」で確認してください。



免責事項:本記事の情報はSnowflake公式ドキュメントおよびCOF-C03公式スタディガイドに基づく筆者の解説です。試験の出題範囲・形式・受験料等は変更される場合があります。最新情報は必ずSnowflake公式サイトでご確認ください。本記事の内容によって生じた損害について、当サイトは一切の責任を負いません。最終更新日: 2026年2月10日

SnowPro Guideをもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む