Snowflake SnowPro Core 教科書
**Snowflake SnowPro Core Certification(COF-C02)** は、**Snowflake** が提供するクラウドデータプラットフォーム認定の **エントリーレベル**。**マルチクラウド対応 ・ ストレージとコンピュートの分離 ・ セキュアデータシェアリング** で世界中の企業に採用されている Snowflake の **アーキテクチャ ・ 基本機能 ・ SQL ・ パフォーマンス ・ セキュリティ** を測ります。**データエンジニア ・ DWH 担当 ・ アナリティクスエンジニア** が想定対象。本教科書は出題範囲を 10 章で体系的にカバーします。
目次
- 第 1 章 · SnowPro Core ─ 試験の全体像試験形式・出題範囲・他 Snowflake 認定との位置付けを整理します。
- 第 2 章 · Snowflake のアーキテクチャストレージ / コンピュート / クラウドサービス層の 3 層構造を整理します。
- 第 3 章 · Snowflake のオブジェクト階層Account / Database / Schema / Table の階層を整理します。
- 第 4 章 · データロードとアンロードCOPY コマンド ・ Snowpipe ・ ファイル形式を整理します。
- 第 5 章 · SQL とデータ変換Snowflake SQL ・ 半構造化データ ・ Stored Procedure ・ Snowpark を整理します。
- 第 6 章 · パフォーマンスとコスト最適化クラスタリング ・ キャッシュ ・ Resource Monitor を整理します。
- 第 7 章 · Time Travel ・ Cloning ・ Data SharingSnowflake の独自機能を整理します。
- 第 8 章 · セキュリティとガバナンスロール ・ 認証 ・ 暗号化 ・ ガバナンス機能を整理します。
- 第 9 章 · Snowpark と Cortex AISnowflake のプログラミング ・ AI 統合機能を整理します。
- 第 10 章 · 受験対策の総まとめ範囲別チェックリストと試験当日の戦略を整理します。
第 1 章 · SnowPro Core ─ 試験の全体像
試験の位置付け
SnowPro Core(COF-C02) は Snowflake 認定の コア(基礎)レベル。すべての Snowflake 認定の前提となる 登竜門 で、これ以上の Specialty / Advanced を取得する場合は SnowPro Core が必須前提となります。
- 主催: Snowflake
- 形式: オンライン監督受験(Pearson VUE)or テストセンター
- 問題数 / 時間: 100 問 / 115 分
- 回答方式: 多肢選択 + 複数選択
- 合格スコア: 750 / 1000
- 有効期限: 2 年(再認定が必要)
- 受験料: 175 USD(参考)
- 前提知識: SQL の基礎 + データベースの基本概念
Snowflake 認定の階層
- SnowPro Associate(Associate Architect / Platform / Solutions Provider): 入門の上位
- SnowPro Core(本資格): 基礎
- SnowPro Specialty: Data Engineer / Data Analyst / Data Scientist / Architect / Administrator
- SnowPro Advanced: Data Engineer / Architect / Administrator / Data Analyst / Data Scientist
出題ドメインと推奨学習プラン
出題ドメイン(公式試験ガイド)
- Domain 1: Snowflake AI Data Cloud Features and Architecture(25%): Account ・ Cloud ・ アーキテクチャ
- Domain 2: Account Access and Security(20%): Role ・ ユーザ ・ ネットワーク ・ 暗号化
- Domain 3: Performance Concepts(15%): クラスタリング ・ キャッシュ ・ Search Optimization
- Domain 4: Data Loading and Unloading(10%): COPY / Snowpipe / Data Engineering Pipeline
- Domain 5: Data Transformations(20%): SQL / Stored Procedure / UDF / Snowpark
- Domain 6: Data Protection and Data Sharing(10%): Time Travel / Fail-safe / Cloning / Sharing
60 〜 100 時間プラン
- Week 1: アーキテクチャ + 主要オブジェクト(本教科書 第 2 〜 3 章)
- Week 2: SQL + データロード(第 4 〜 5 章)
- Week 3: パフォーマンス + コスト(第 6 章)
- Week 4: Time Travel + データシェアリング(第 7 章)
- Week 5: セキュリティ + ガバナンス(第 8 章)
- Week 6: 模擬試験 + 過去問
Snowflake 30 日トライアル(400 USD クレジット)で実機演習が可能。Snowflake University に SnowPro Core 専用ラーニングパスが無料公開されています。実機で TPC-H サンプル を触りながら本教科書を進めるのが最短ルート。
第 2 章 · Snowflake のアーキテクチャ
3 層アーキテクチャ
Snowflake の最大の特徴は ストレージとコンピュートの完全分離 + 共有データアーキテクチャ。これにより 同じデータに対して複数の独立したコンピュートが並列にアクセス でき、競合せずスケールアウトできます。
1. Database Storage: マイクロパーティション化された圧縮済 ・ 列指向ストレージ。S3 / Azure Blob / GCS にホスト。ユーザは直接アクセス不可。
2. Query Processing(Virtual Warehouse): 計算層。X-Small 〜 6X-Large のサイズ。複数並列起動可能。
3. Cloud Services: メタデータ ・ 認証 ・ クエリ最適化 ・ アクセス制御 ・ Time Travel などを担う管理層。
Virtual Warehouse
- T-Shirt サイズ: XS(1 ノード)→ 6XL(512 ノード)
- Auto-suspend: 一定時間アイドルで自動停止(コスト削減)
- Auto-resume: クエリ実行時に自動再開
- Multi-cluster Warehouse: 同時実行クエリ多数で自動スケールアウト
- Standard Edition: シングルクラスタ
- Enterprise+ Edition: マルチクラスタ可能
- Resource Monitor: クレジット使用量の監視 ・ 制限
- Per-second billing: 起動から 60 秒最低 + 1 秒単位課金
マルチクラウド対応
- サポートクラウド: AWS / Azure / GCP
- リージョン: 各クラウドの主要リージョン
- Cross-Region Replication: リージョン間レプリケーション
- Cross-Cloud Replication: クラウド間レプリケーション
- Snowgrid: マルチクラウド ・ マルチリージョンの統合管理
- External Stages: S3 / Azure Blob / GCS への参照
第 3 章 · Snowflake のオブジェクト階層
オブジェクトの階層
- Organization: 複数 Account の統括
- Account: テナント単位、URL: `https://<account>.<region>.snowflakecomputing.com`
- Database: 論理的なデータの集合
- Schema: Database 内の論理グループ
- Table / View / Stage / Stream / Task / Function / Procedure: スキーマ内オブジェクト
テーブルの種類
- Permanent: 標準テーブル、Time Travel + Fail-safe あり
- Transient: Fail-safe なし、Time Travel あり(0 〜 1 日)
- Temporary: セッション内のみ、Fail-safe / Time Travel なし
- External: S3 / Azure Blob / GCS のファイルを参照(Snowflake 外保管)
- Iceberg Tables: Apache Iceberg 形式での外部 ・ Snowflake 管理
- Hybrid Tables(Unistore): トランザクション + 分析の両立
- Dynamic Tables: マテリアライズドビュー進化版
View ・ Stage ・ Stream ・ Task
- View: 仮想テーブル(SELECT 定義)
- Materialized View: 実体化、自動更新、Enterprise+ Edition
- Secure View / Secure Materialized View: 定義非公開
- Stage: ファイルの一時置き場(Internal / External)
- Stream: テーブルの変更追跡(CDC)
- Task: SQL の定期実行(クロン式)
- Pipe(Snowpipe): ファイル到着でストリーミングロード
第 4 章 · データロードとアンロード
ファイル形式とステージ
- サポート形式: CSV / TSV / JSON / Avro / Parquet / ORC / XML
- File Format オブジェクト: 形式定義の再利用
- Internal Stage: User / Table / Named
- External Stage: S3 / Azure Blob / GCS への参照
- Stage 暗号化: AWS_SSE / KMS / Customer-Managed Key
- PUT / GET コマンド: SnowSQL 経由でローカル ⇔ Internal Stage
COPY コマンドと一括ロード
-- ファイル形式作成
CREATE FILE FORMAT csv_format
TYPE = 'CSV'
FIELD_DELIMITER = ','
SKIP_HEADER = 1
NULL_IF = ('NULL', '');
-- 外部ステージ作成
CREATE STAGE my_s3_stage
URL = 's3://my-bucket/data/'
CREDENTIALS = (AWS_KEY_ID = 'xxx' AWS_SECRET_KEY = 'yyy')
FILE_FORMAT = csv_format;
-- ロード
COPY INTO sales_table
FROM @my_s3_stage
PATTERN = '.*\.csv'
ON_ERROR = 'CONTINUE';- ON_ERROR: CONTINUE / SKIP_FILE / ABORT_STATEMENT
- VALIDATION_MODE: ロード前検証
- FORCE = TRUE: 既ロード済ファイルも再ロード
- PATTERN: 正規表現でファイル選択
- 並列度: ファイルを 100 〜 250 MB に分割すると最適
Snowpipe(継続的ロード)
Snowpipe はファイルが Stage に到着したら自動でロードする継続的取込み機能。バッチ COPY の代替として 数分以内のリアルタイム性 を実現します。
- Auto-Ingest: S3 SQS / EventGrid 通知で自動起動
- REST API: 明示的なファイル通知
- Snowpipe Streaming(Kafka 統合): ms 級のストリーミング
- Per-file 課金: ロードファイル数で課金
- Snowpark Python API: コードからのロード制御
第 5 章 · SQL とデータ変換
Snowflake SQL の特徴
- ANSI SQL 準拠 + 独自拡張
- JOIN: INNER / LEFT / RIGHT / FULL OUTER / CROSS / LATERAL / ASOF
- ウィンドウ関数: ROW_NUMBER / RANK / LAG / LEAD / NTILE
- CTE / 再帰 CTE: WITH RECURSIVE
- QUALIFY: ウィンドウ関数の結果でフィルタ
- COPY GRANTS: 権限の引継ぎ
- ZEROIFNULL / NULLIFZERO / NVL / COALESCE
- TRY_CAST: 失敗時 NULL を返す型変換
半構造化データ(VARIANT)
VARIANT 型は JSON / Avro / XML を そのまま格納 → SQL でクエリ できる Snowflake の独自型。スキーマ進化に強く、データレイク的な使い方が可能です。
-- JSON をそのまま格納
CREATE TABLE events (raw VARIANT);
INSERT INTO events SELECT PARSE_JSON('{"user": "alice", "action": "click", "item": {"id": 42}}');
-- ドット記法 + コロン記法でアクセス
SELECT
raw:user::STRING AS user,
raw:action::STRING AS action,
raw:item.id::NUMBER AS item_id
FROM events;- FLATTEN: 配列を行に展開
- OBJECT_CONSTRUCT / ARRAY_CONSTRUCT: JSON 構築
- LATERAL FLATTEN: クロス結合的に展開
- Schema Detection: VARIANT から論理スキーマを推論
- INFER_SCHEMA: Parquet / Avro からのスキーマ推論
Stored Procedure ・ UDF ・ Snowpark
- Stored Procedure: JavaScript / Python / Scala / SQL で記述
- UDF(User Defined Function): SQL / JavaScript / Python / Java / Scala
- External Function: AWS Lambda / Azure Function / GCP Cloud Function を呼出
- Snowpark: Python / Java / Scala API、DataFrame 風で SQL 生成
- Snowpark ML: 特徴量エンジニアリング ・ ML モデル構築
- Cortex AI: SQL から LLM(Llama / Claude / Mistral)を呼出
- Cortex Search: ベクトル検索
第 6 章 · パフォーマンスとコスト最適化
マイクロパーティションとクラスタリング
- Micro-partition: Snowflake が自動的に作る圧縮済 ・ 列指向の単位(50 〜 500 MB)
- Pruning: クエリのフィルタ条件でマイクロパーティションを除外、I/O 削減
- Cluster Key: 並べ替えのヒント。大規模テーブルで自動最適化
- Automatic Clustering: バックグラウンドで再クラスタリング(Enterprise+)
- SYSTEM$CLUSTERING_INFORMATION: クラスタ品質の確認
3 種のキャッシュ
1. Result Cache(クエリ結果): クラウドサービス層に保存、24 時間有効、データ不変なら同じクエリで即返答
2. Local Disk Cache(SSD): Warehouse の SSD にデータをキャッシュ、Warehouse 再起動で消える
3. Remote Disk(マイクロパーティション): 元の永続ストレージ
クエリは Result → Local SSD → Remote の順で確認される。
Search Optimization と Query Acceleration
- Search Optimization Service: 等価検索 ・ サブストリング検索の高速化(Enterprise+)
- Query Acceleration Service: 一時的に追加の計算リソースを動的に付与
- Materialized View: 集計結果の事前計算 + 自動更新
- Result Reuse: 同一クエリの結果を再利用
- Data Sampling: TABLESAMPLE で確率的サンプリング
- EXPLAIN: クエリプランの確認
- Query Profile: 実行詳細の可視化(UI)
第 7 章 · Time Travel ・ Cloning ・ Data Sharing
Time Travel と Fail-safe
Time Travel: 過去の状態にクエリ ・ 復元できる期間。Standard Edition では 1 日、Enterprise+ で最大 90 日。誤削除 ・ 誤更新からの復旧。
Fail-safe: Time Travel が切れた後の 追加 7 日間 の隠れバックアップ(Snowflake サポート経由でのみ復元可)。Permanent テーブルのみ。
-- 1 時間前の状態をクエリ
SELECT * FROM sales
AT(OFFSET => -3600);
-- 特定タイムスタンプの状態
SELECT * FROM sales
AT(TIMESTAMP => '2025-04-01 09:00:00'::TIMESTAMP);
-- 特定クエリ実行直前の状態
SELECT * FROM sales
BEFORE(STATEMENT => '8e5d0ca9-005e-44e6-b858-a8f5b37c5726');
-- テーブルを 1 日前の状態に復元
UNDROP TABLE sales;Zero-Copy Cloning
Zero-Copy Cloning はテーブル ・ Schema ・ Database を メタデータ操作だけで瞬時に複製 する機能。実データはコピーせず参照を共有し、変更があった部分のみ新規データとして書き込まれます(コピーオンライト)。
- 用途: dev / test 環境の作成、本番データのスナップショット、A/B 試験
- コスト: クローン時点ではほぼゼロ(変更分のみ課金)
- Database / Schema / Table の単位でクローン可能
- `CREATE TABLE my_test CLONE prod.sales;` のような構文
Data Sharing と Marketplace
- Secure Data Sharing: 別 Account へデータをコピーせず安全に共有
- Reader Account: Snowflake 未契約の取引先にも提供可能
- Snowflake Marketplace: 公開データセット ・ サードパーティデータの売買
- Snowflake Native Apps: アプリ自体を Snowflake 上で配布
- Data Clean Room: 複数組織間で個別データを開示せず分析
- Listings: 共有の単位
- Cross-region / Cross-cloud Sharing: リージョン ・ クラウドを超えた共有
第 8 章 · セキュリティとガバナンス
RBAC と Role 階層
Snowflake は RBAC(Role-Based Access Control) が基本。ユーザ → ロール → オブジェクトへの権限 の 3 段階で、ロールの 継承(Role Hierarchy) が可能。
システム定義ロール
- ACCOUNTADMIN: 最上位、全権限。日常使用は推奨されない
- SECURITYADMIN: Role / User 管理
- USERADMIN: User / Role 作成
- SYSADMIN: 一般オブジェクト作成 ・ 管理
- PUBLIC: デフォルトロール、最小権限
- ORGADMIN: 組織レベルの管理
認証とネットワーク
- MFA(多要素認証): 必須化推奨
- SSO(SAML / OAuth): Okta / Azure AD / Ping
- SCIM: ユーザ ・ グループの自動同期
- Key-pair Authentication: パスワードレス API 認証
- OAuth: 外部システム統合
- Network Policies: IP allowlist / blocklist
- Private Connectivity: AWS PrivateLink / Azure Private Link / GCP Private Service Connect
- Tri-Secret Secure: 顧客 + Snowflake + クラウドの 3 鍵による暗号化
データガバナンス機能
- Row Access Policy(RLS): 行レベルセキュリティ
- Dynamic Data Masking: 列レベルマスキング(動的)
- External Tokenization: 外部トークン化サービスとの連携
- Tag: メタデータのタグ付け
- Object Tagging + Policy Assignment: タグでポリシー一括管理
- Access History: 監査ログ
- Login History: ログイン履歴
- Snowflake Horizon: 統合ガバナンス機能
第 9 章 · Snowpark と Cortex AI
Snowpark
- Snowpark API: Python / Java / Scala で DataFrame 風の API
- Snowpark Python: pandas 風のコード → SQL 自動変換
- UDF / Stored Procedure を Python で
- Snowpark Container Services: Snowflake 上でコンテナ実行
- Snowpark ML: 機械学習 API
- External Network Access: Snowflake から外部 API 呼出
- Native Apps: Snowflake 上で配布可能なアプリ
Cortex AI
- Cortex LLM Functions: SQL から `COMPLETE / SUMMARIZE / TRANSLATE / SENTIMENT / EXTRACT_ANSWER` などの LLM 関数
- Cortex Search: ベクトル + キーワードのハイブリッド検索
- Cortex Analyst: 自然言語からの SQL 生成 + 質問応答
- Cortex Agents: タスク実行エージェント
- Document AI: PDF からの情報抽出
- Snowflake Copilot: SQL コーディング AI アシスタント
- サポート LLM: Llama 3 / Mistral / Snowflake Arctic / Claude(参考)
他システム統合
- Connectors / Drivers: JDBC / ODBC / Python / Spark
- dbt / Fivetran / Stitch: ELT パートナー
- Tableau / Power BI / Looker: BI 連携
- Apache Iceberg: オープンテーブル形式での相互運用
- Streamlit in Snowflake: アプリ開発 UI
- Snowflake Notebooks: Jupyter 風のノートブック
第 10 章 · 受験対策の総まとめ
範囲別チェックリスト
- 第 2 章: 3 層アーキテクチャ / Virtual Warehouse / マルチクラウド
- 第 3 章: テーブル種別 4 種(Permanent/Transient/Temporary/External)/ Stream / Task
- 第 4 章: COPY / Snowpipe / File Format / Internal vs External Stage
- 第 5 章: VARIANT / FLATTEN / Snowpark / Cortex AI
- 第 6 章: マイクロパーティション / 3 種キャッシュ / Search Optimization
- 第 7 章: Time Travel(Standard 1 日 / Enterprise+ 90 日)/ Fail-safe(7 日)/ Zero-Copy Cloning / Data Sharing
- 第 8 章: RBAC / システム定義ロール 6 種 / Network Policies / RLS / Dynamic Data Masking
- 第 9 章: Snowpark / Cortex LLM Functions / Snowflake Copilot
試験当日のコツ
- 100 問 / 115 分 = 1 問 約 70 秒、スピード勝負
- Edition 別の機能差: Standard / Enterprise+ / Business Critical / VPS で機能差あり
- Time Travel の期間: Standard 1 日、Enterprise+ で最大 90 日
- Fail-safe の 7 日間 + Permanent のみ
- Marketplace: Free / Paid / Personalized
- Snowflake University の練習問題 を必ず受ける
次のステップ
SnowPro Core 合格 → SnowPro Specialty(Data Engineer / Data Analyst / Data Scientist / Architect / Administrator) が次のステップ。クラウドに関する知識を加えるなら本サイトの[AWS SAA](/certs/aws-saa) ・ [Azure AI-900](/certs/azure-ai-900)も。
Snowflake は 金融 ・ 小売 ・ メディア ・ ヘルスケア など幅広い業界で採用が拡大中。データエンジニア ・ アナリティクスエンジニア ・ データプラットフォーム担当 で評価が高く、dbt + Snowflake 案件が特に多い。本サイトの[DB スペシャリスト](/certs/db-specialist)と組合せると、伝統的 DB + モダンデータ基盤の両軸で強みになります。