【SnowPro Core個人学習ノート】第1回:1.1 Snowflakeアーキテクチャの説明と使用
💡 お知らせ
本記事は、SnowPro Core (C03)合格に向けたシリーズの第1回目です。
全体のロードマップはこちらのインデックス記事をご覧ください!
🎥 NotebookLMで自作した解説動画(音声)
🎧 私の勉強法アドバイス:
この音声は、私が復習用に「ながら聞き」したくて生成したものです。
まずはこれを聴いてイメージを膨らませてから、下のメモを読んでみてください!
1.1 Snowflakeアーキテクチャの説明と使用
Snowflake (スノーフレイク)は、クラウド向けにゼロから構築された独自のアーキテクチャを持つデータプラットフォームです。従来のデータベースアーキテクチャ(共有ディスク型や非共有型)の利点を組み合わせた「マルチクラスター共有データアーキテクチャ」を採用しています
ご提示いただいた公式ドキュメントの内容に基づき、Snowflakeの3層アーキテクチャと、各エディションの違いについて解説します
1. Snowflakeのアーキテクチャ (3つの層)
Snowflakeの最大の特徴は、「ストレージ」と「コンピュート(計算処理)」が完全に分離されている点ですこれにより、リソースの競合を気にすることなく、それぞれを独立してスケーリングできますアーキテクチャは以下の3つの層で構成されています
① データベースストレージ層 (Database Storage Layer)
データが物理的に保存される層です
- 役割: Snowflakeにロードされたすべてのデータは、この層に保存されます
- 仕組み: データがロードされると、Snowflakeは自動的にデータを内部的に最適化された圧縮・列指向(カラムナ) フォーマットに再編成します
-
特徴:
- クラウドプロバイダー (AWSのS3、Google Cloud Storage、 Azure Blob Storage) のオブジェクトストレージを利用しており、事実上無制限の容量を持ちます
- ユーザーは直接このファイルにアクセスすることはできず、必ず後述のコンピュート層を介してSQLクエリでアクセスします
- ストレージの管理(ファイルサイズ、圧縮、メタデータ、統計情報など)はすべてSnowflakeが自動で行います
② コンピュート層 (Compute Layer / Query Processing)
データの検索や処理を実行する層です
- 役割: ユーザーが発行したSQLクエリを実際に処理するエンジンです
- 仕組み: 「仮想ウェアハウス (Virtual Warehouse)」と呼ばれる、クラウド上の仮想マシンのクラスター (MPP: 超並列処理クラスター)を使用してクエリを実行します
-
特徴:
- リソースの分離: 複数の仮想ウェアハウスを作成し、同時に同じストレージのデータにアクセスできますたとえば「データロード用のウェアハウス」と「データ分析用のウェアハウス」を分けることで、分析クエリが遅くなるなどのリソース競合(お互いの邪魔)が起きません
- 柔軟なスケーリング: 必要に応じて瞬時にサイズ (CPUパワー)を上げたり下げたりできますまた、使用していない時は自動的に停止(オートサスペンド)し、クエリが来たら自動で再開(オートレジューム)するため、コストを最小限に抑えられます
③ クラウドサービス層 (Cloud Services Layer)
Snowflakeシステム全体の「頭脳」として機能する層です
- 役割: ユーザーからのリクエストを受け付け、システム全体を調整・管理します
-
主な機能:
- 認証とアクセス制御: ユーザーのログイン認証や、誰がどのデータにアクセスできるかのセキュリティ管理
- インフラストラクチャ管理: 仮想ウェアハウスの起動・停止・スケーリングの管理
- クエリオプティマイザ: SQLクエリを解析し、最も効率的な実行計画を作成します
-
メタデータ管理: ストレージ層にあるデータの統計情報(行数、最大値、最小値など)を管理していますこれにより、わざわざコンピュート層を動かさなくてもメタデータだけで完了するクエリ (例:
COUNT(*)など)は即座に結果を返します
2. Snowflakeの各エディションの比較と違い
Snowflakeには、要件(セキュリティ、コンプライアンス、機能など)に応じて複数のエディションが用意されています上位エディションになるにつれて、下位エディションの機能がすべて含まれる形になります
① Standard (スタンダード) エディション
- 概要: 最も基本的なエディションで、Snowflakeの標準機能(ストレージとコンピュートの分離、データの自動暗号化など)をすべて利用できます
-
主な特徴:
- 常にデータは暗号化されて保存されます
- Time Travel (タイムトラベル): 過去のデータにアクセスできる機能Standardでは最大「1日間(24時間)」のデータ復元・アクセスが可能です
- ターゲット: 基本的なデータウェアハウス環境を安価に構築したい企業向け
② Enterprise (エンタープライズ) エディション
- 概要: 大規模な企業向けのエディションですStandardの機能に加えて、大規模環境でのパフォーマンスやセキュリティ機能が追加されます
-
主な特徴:
- マルチクラスターウェアハウス: クエリの量(同時実行ユーザー数)が急増した際、自動的にウェアハウスの数を増やして対応するオートスケール機能が利用できます
- 拡張 Time Travel: データの復元可能期間が最大「90日間」に延長されます
- マテリアライズドビュー: 複雑なクエリのパフォーマンスを向上させる機能
- 高度なセキュリティ: 行レベル/列レベルのセキュリティ(ダイナミックデータマスキングなど)が利用可能です
- ターゲット: 多くのユーザーが同時にアクセスし、高度なガバナンスやパフォーマンス最適化が求められる企業向け
③ Business Critical (ビジネスクリティカル) エディション
- 概要: Enterpriseの機能に加え、さらに厳格なセキュリティとコンプライアンス要件が求められる企業向けのエディションです。(旧称: Enterprise for Sensitive Data)
-
主な特徴:
- 規制コンプライアンス対応: HIPAA(医療情報) やPCI DSS (クレジットカード情報)などの厳格な要件を満たします
- プライベート接続: AWS PrivateLink、 Azure Private Link、 Google Cloud Private Service Connectなどを利用し、インターネットを経由しないセキュアな通信が可能です
- データベースのフェイルオーバー: 災害復旧 (DR)のために、複数のリージョン間でデータを同期し、障害時に切り替える機能が使えます
- Tri-Secret Secure: Snowflakeの暗号化キーに加えて、顧客が管理する独自の暗号化キーを組み合わせて強力に保護します
- ターゲット: 金融機関、医療機関、政府機関など、極めて機密性の高いデータを扱う企業向け
④ Virtual Private Snowflake (VPS)
- 概要: 最上位のセキュリティエディションですBusiness Criticalの機能に加えて、完全に隔離された環境を提供します
-
主な特徴:
- 他のSnowflake顧客とは物理的・論理的に完全に隔離された、専用のクラウド環境(専用のクラウドサービス層やコンピュートプール)が提供されます
- ターゲット: 隔離された専用環境が法規制や社内ポリシーで必須となっている、最上級のセキュリティを要求される大企業向け
まとめ
Snowflakeは「ストレージ」 「コンピュート」 「クラウドサービス」の3層を分離することで、圧倒的な柔軟性とパフォーマンスを実現していますまた、エディションを選択する際は、「マルチクラスターでのスケーリングが必要か (Enterprise以上)」 「高度なコンプライアンスやプライベートネットワーク接続が必要か (Business Critical以上)」といった要件が主な基準となります
公式ドキュメントの関連URL一覧
1. Snowflakeのアーキテクチャ (3つの層)
-
主要な概念とアーキテクチャの概要:
- Key Concepts & Architecture (※ストレージ層、コンピュート層、クラウドサービス層の分離と、それぞれの役割について詳しく図解付きで解説されています)[cite: 2]
2. Snowflakeの各エディションの比較と違い
-
Snowflakeの各エディション (Standard, Enterprise, Business Critical, VPS)の詳細:
- Snowflake Editions (※各エディションで利用可能な機能の全一覧や、要件に応じた選び方の基準となる比較表が掲載されています)