❄️
Snowflake SnowPro® Core認定 合格への道:試験概要と重要用語集まとめ(個人の学習メモ)
🚀 はじめに
Snowflakeの知識とスキルを証明するSnowPro® Core認定。
Snowflakeエコシステムでキャリアを築く上で、その価値はますます高まっています。
しかし、「どんな試験なの?」「何を勉強すればいいの?」と疑問に思う方も多いのではないでしょうか。
この記事では、Snowflakeの基礎知識を網羅的に問うこの認定資格について、
- 試験の概要(形式、時間、分野など)
- 頻出する重要用語の解説集
をまとめました。
私自身が学習を進める中で整理した用語集が、これから受験される皆さんの助けになれば幸いです。
📝 SnowPro® Core 認定試験の概要
まずは、試験の基本的な情報を押さえましょう。
試験形式と基本情報
| 項目 | 詳細 |
|---|---|
| 問題数 | 100問 |
| 問題形式 | 複数選択、多肢選択 |
| 制限時間 | 115分 |
| 言語 | 英語、日本語、韓国語、フランス語、スペイン語 |
| 登録料 | 175米ドル |
| 合格点 | 750点以上(1000点満点スケール) |
| 採点対象外質問 | 統計情報収集等のため、採点されない質問が含まれる場合があります(時間は別途考慮)。 |
*出典: SnowPro Core Study Guide*
試験分野の内訳
試験は以下の6つの主要分野から構成され、それぞれ重点を置くべき割合が異なります。
アーキテクチャ、セキュリティ、パフォーマンスといったSnowflakeの根幹をなす部分の比重が高いことがわかります。
| 分野 | 予想される割合 |
|---|---|
| 1.0 Snowflake AIデータクラウドの機能とアーキテクチャ | 24% |
| 2.0 アカウント アクセスとセキュリティ | 18% |
| 3.0 パフォーマンスとコスト最適化の概念 | 16% |
| 4.0 データのロードとアンロード | 12% |
| 5.0 データ変換 | 18% |
| 6.0 データ保護とデータシェアリング | 12% |
*出典: SnowPro Core Study Guide*
📚 Snowflake重要用語集
SnowPro Core試験の学習に役立つ重要用語を、分野別に整理しました。
(※あくまで個人の学習メモを基にしたものであり、網羅性・完全性を保証するものではありません。また、内容の最新情報はSnowflakeのドキュメントを確認するようにしてください。)
| 連番 | 分類 | 用語 | 解説 |
|---|---|---|---|
| 1 | アーキテクチャ概念 | Snowflakeアーキテクチャ | 3層分離(ストレージ/コンピュート/Cloud Services)の Multi-cluster, Shared Data アーキテクチャ。各層を独立してスケール可能。 |
| 2 | アーキテクチャ概念 | コンピュートとストレージの分離 | Snowflakeアーキテクチャの核。それぞれを独立してスケールでき、リソース最適化とコスト効率に優れる。 |
| 3 | アーキテクチャ概念 | データロード時の再編成 | ロードデータは内部的に列指向・圧縮形式に変換され、マイクロパーティションに格納、統計情報を付与。スキャン効率向上。 |
| 4 | アーキテクチャ概念 | ネームスペース |
database.schema.object でオブジェクトを一意に識別する階層構造。 |
| 5 | アーキテクチャ概念 | マイクロパーティション | Snowflakeの基本ストレージ単位。不変。通常50-500MB。プルーニング、Time Travel、クローニングの基盤。 |
| 6 | アーキテクチャ概念 | 基盤クラウドインフラ | AWS/Azure/GCP上の完全マネージドサービス。リージョン内の複数AZに分散し高可用。 |
| 7 | キャッシュ | 結果キャッシュ (Result Cache) | 結果キャッシュは24時間が基本だが、再利用のたびに24時間がリセットされ、初回実行から最長31日まで保持されうる(条件を満たす場合)。 |
| 8 | キャッシュ | ローカルディスクキャッシュ (WHキャッシュ) | ローカルディスクキャッシュ(ウェアハウスキャッシュ)は、クエリで読み込んだテーブルデータをウェアハウスのローカルストレージに保持し、後続クエリで再利用する。ウェアハウス停止でキャッシュは消去され、サイズ変更でも影響を受ける。なお、具体的なエビクション方式(LRU等)は公式ドキュメントに公開されていない。 |
| 9 | クエリ最適化 | クラスタリングキー (Clustering Key) |
CLUSTER BYで定義。データの物理配置を最適化しプルーニング効率を向上。特に大規模テーブルの頻出フィルタ列に有効。自動クラスタリングで維持。 |
| 10 | クエリ最適化 | クラスタリング深度 (Depth) | クラスタリングキーに対するマイクロパーティションの重複度。1に近いほど理想的。 |
| 11 | クエリ最適化 | プルーニング (Pruning) | マイクロパーティションのメタデータに基づき、不要なパーティションスキャンを省略する技術。 |
| 12 | クエリ最適化 | 検索最適化サービス (SOS) | ポイントルックアップクエリ(= や IN)を高速化するサービス (Enterprise以上)。検索アクセスパスを作成・維持。 |
| 13 | データ保護(CDP) | 継続的データ保護 (CDP) | Time Travel、Fail-safe、データ暗号化など、データ損失を防ぐ機能群。 |
| 14 | データ保護(CDP) | Time Travel |
過去データへのアクセス機能。デフォルト1日保持(最大90日)。過去時点クエリ (AT/BEFORE) やオブジェクト復元 (UNDROP) が可能。ストレージコスト発生。 |
| 15 | データ保護(CDP) | Fail-safe | Time Travel期間終了後、さらに7日間保持する最終保護層。ユーザー操作不可、Snowflakeサポートのみ復旧可。Temporary/Transientテーブルは対象外。ストレージコスト発生。 |
| 16 | データ保護(CDP) | クローニング (Cloning) | オブジェクトのゼロコピー複製機能。ほぼ瞬時に作成、ストレージ節約。元のオブジェクトとは独立。Time Travel履歴は作成時点から。 |
| 17 | テーブルタイプ | テーブルタイプ (Table Types) | 主にPermanent、Transient、Temporaryの3種。他にExternal、Directoryテーブルがある。 |
| 18 | テーブルタイプ | Permanentテーブル | 通常の永続テーブル。Time TravelとFail-safeが適用。 |
| 19 | テーブルタイプ | Transientテーブル |
Fail-safe不要な一時データ用。Time Travel最大1日。DROPまで永続。ストレージコスト抑制。 |
| 20 | テーブルタイプ | Temporaryテーブル | セッション内のみ有効。自動削除。Fail-safeなし、Time Travel最大1日。 |
| 21 | テーブルタイプ | Materialized View (MV) | クエリ結果を物理保存するビュー (Enterprise以上)。高コストクエリを高速化。データはstaleになり得る。JOIN不可。維持コスト発生。 |
| 22 | テーブルタイプ | Externalテーブル (外部テーブル) | 外部ストレージ上のファイルを直接クエリ。読み取り専用。データはロードされない。 |
| 23 | テーブルタイプ | Directoryテーブル | ステージ上のファイルメタデータを参照できる読み取り専用オブジェクト。 |
| 24 | テーブルタイプ | スキーマオブジェクト | スキーマ内に作成されるオブジェクト(テーブル、ビュー、ステージ、ファイルフォーマット、パイプ、ストリーム等)。 |
| 25 | 半構造化データ | 半構造化データ型 | VARIANT / OBJECT / ARRAY で JSON / Avro / Parquet 等をネイティブ格納・クエリ。 |
| 26 | 半構造化データ | VARIANT | VARIANT(および ARRAY / OBJECT)の最大サイズは128MB(非圧縮)。従来の16MBから拡張され、2025年のリリースで一般提供。 |
| 27 | 半構造化データ | OBJECT | 文字列キーと VARIANT 値のペア(JSONオブジェクト相当)。 |
| 28 | 半構造化データ | ARRAY | VARIANT の順序付きリスト(JSON配列相当)。 |
| 29 | 半構造化データ | FLATTEN | ネストした配列/オブジェクトを行に展開するテーブル関数。LATERAL と併用可。 |
| 30 | 半構造化データ | PARSE_JSON | JSON文字列 → VARIANT へ変換。 |
| 31 | 半構造化データ | OBJECT_CONSTRUCT | キー/値から OBJECT を生成。OBJECT_CONSTRUCT(*) で行→JSONへ。 |
| 32 | 半構造化データ | TO_JSON | VARIANT → JSON文字列へ変換。 |
| 33 | 半構造化データ | TYPEOF | VARIANT中の具体型('OBJECT' 等)を文字列で返す。 |
| 34 | 半構造化データ | 半構造化データパス構文 |
列名:要素.サブ要素[インデックス] 形式。列名は大小無視だがJSONキーは大小区別。 |
| 35 | 半構造化データ | STRIP_OUTER_ARRAY | JSONロード時に最外配列 [] を剥ぎ、要素を行として取り込む COPY オプション。 |
| 36 | 半構造化データ | STRIP_NULL_VALUES | JSON等ロード時、null 値を持つ要素(キーと値のペア)を除外する COPY オプション。 |
| 37 | 半構造化データ | 型述語 (Type Predicates) |
IS_OBJECT / IS_ARRAY / IS_VARCHAR / IS_NULL_VALUE 等でVARIANT内の型判定(主にWHERE句)。 |
| 38 | 半構造化データ | VARIANT列での非ネイティブ値格納 | 日付/時刻等をVARIANTに文字列で格納すると型変換負荷やストレージ増で非効率。可能な限りネイティブ型へ変換推奨。 |
| 39 | 仮想ウェアハウス | 仮想ウェアハウス (Virtual WH) | クエリ/ロード/アンロードのコンピュートクラスター。サイズと(MCW時の)クラスター数を変更可能で、開始/停止も即時。独立してスケール可能。 |
| 40 | 仮想ウェアハウス | スケールアップ / スケールアウト | アップ:単一WHサイズ増。アウト:MCWでクラスター数増。アップは単一クエリ高速化、アウトは同時実行数向上。 |
| 41 | 仮想ウェアハウス | マルチクラスターウェアハウス (MCW) | マルチクラスター・ウェアハウスの MAX_CLUSTER_COUNT 上限は10固定ではなく、ウェアハウスサイズに応じて拡張(>10も可)。Snowsightでは10超の設定は不可で、>10の指定はSQL(CREATE/ALTER WAREHOUSE)で実施。 |
| 42 | 仮想ウェアハウス | 自動一時停止 / 自動再開 | アイドル継続でAuto‑suspend(UI既定10分)。クエリ到着でAuto‑resume。コスト最適化の基本。 |
| 43 | 仮想ウェアハウス | スケーリングポリシー | Auto-scale時の増減ポリシー。Standard(反応速) / Economy(コスト重視)。 |
| 44 | 仮想ウェアハウス | Maximizedモード | 最小=最大クラスター数(>1)で常時最大並列。キュー最小化に有効だがコスト高。 |
| 45 | 仮想ウェアハウス | クレジット (Credits) | WHのサイズ×稼働時間で消費(起動/再開毎に最低60秒)。サイズ倍でクレジット/時も倍。 |
| 46 | 仮想ウェアハウス | Snowpark‑optimized WH | Snowpark向けにメモリ強化されたWH。デフォルト最小サイズはMedium。 |
| 47 | 仮想ウェアハウス | プロビジョニング時間 | 起動/リサイズは通常数秒〜数分。サイズが大きいほど長くなる可能性。 |
| 48 | 仮想ウェアハウス | ウェアハウスのリサイズ | 実行中でも変更可能。拡大は即時効果、縮小は実行中完了後に反映。停止中に次回適用も設定可。 |
| 49 | 仮想ウェアハウス | ウェアハウスの分離 | ロード用・BI用など用途別に分離しリソース競合抑制。コスト管理やチューニングが容易に。 |
| 50 | メタデータ | メタデータ (Metadata) | オブジェクト定義、統計情報、履歴等をCloud Servicesで集中管理。一部クエリはメタデータのみで高速応答。 |
| 51 | Cloud Services | Cloud Servicesレイヤー | 認証/認可、インフラ/メタデータ管理、クエリ最適化/計画生成、トランザクション管理、セキュリティ、結果キャッシュ返却等を担当する「頭脳」。 |
| 52 | Cloud Services | Cloud Services課金 | 当日のウェアハウス総消費クレジットの10%超過分が別途課金対象。 |
| 53 | Snowpark | Snowpark | Python/Java/Scala のDataFrame API等でSnowflakeデータを操作・処理。コードはSnowflake内で実行。外部クラスター不要。 |
| 54 | その他 | スキーマ (Schema) | 単一データベースに属し、テーブルやビューなどのオブジェクトを論理的にグループ化。 |
| 55 | その他 | 複数アカウントとクラウド/リージョン | 同一組織でクラウド/リージョンが異なる複数のSnowflakeアカウントを保有・管理可能。 |
| 56 | アクセス制御 | アクセス制御モデル (RBAC/DAC) | 基本はRBAC(ロールベース)。所有ロールが付与を制御できる点で DAC(任意)要素も併存。 |
| 57 | アクセス制御 | 権限 / ロール | 権限=操作許可、ロール=権限の集合。ロールは階層化し権限を継承可能。 |
| 58 | アクセス制御 | 所有権 (Ownership) | オブジェクト作成ロールが所有者。GRANT OWNERSHIP で譲渡可(譲渡後の直接REVOKE不可)。 |
| 59 | アクセス制御 | Managed Access Schema | スキーマ内オブジェクトへの権限付与をスキーマ所有者(またはMANAGE GRANTS権限ロール)に集約。 |
| 60 | アカウント管理 | リーダーアカウント | Reader(マネージド)アカウントはストレージ統合を使ったアンロードは不可。ただし、接続資格情報を直接指定した COPY INTO <location> でクラウドストレージへアンロード可能。COPY INTO <table> や CREATE STAGE など一部の DDL/DML は不可。 |
| 61 | ロールと権限 | システム定義ロール | ACCOUNTADMIN / SECURITYADMIN / SYSADMIN / USERADMIN / PUBLIC 等。基礎権限は変更不可。 |
| 62 | ロールと権限 | カスタムロール |
CREATE ROLE で任意ロールを作成し権限を割当。システムロールに付与して階層化・運用。 |
| 63 | ロールと権限 | プライマリ / セカンダリロール |
プライマリ=セッション既定。セカンダリ=USE SECONDARY ROLESで有効化し権限合算利用。 |
| 64 | ロールと権限 | MANAGE GRANTS | アカウント全体の権限付与/取消をグローバル管理できる強力な権限。通常 SECURITYADMIN が保有。 |
| 65 | ロールと権限 | APPLY POLICY | 権限名は個別(例:APPLY MASKING POLICY、APPLY ROW ACCESS POLICY、APPLY SESSION POLICY 等)。ネットワークポリシーの適用は ATTACH POLICY(グローバル権限)であり、「APPLY POLICY」 という汎用権限は存在しない。 |
| 66 | 監査 (Auditing) | 監査機能 |
Access History、Login History、Query History等の ACCOUNT_USAGE ビューで監査/セキュリティ監視。 |
| 67 | 認証 (Authentication) | 認証方法 | ユーザー/パスワード、キーペア認証、SAML2 SSO、OAuth 等をサポート。MFA (Duo) も利用可。 |
| 68 | ネットワークポリシー | ネットワークポリシー | 接続元IPアドレス等でアクセス制御(許可/ブロックリスト、ブロック優先)。アカウント全体または個々のユーザーに適用可能(同時に1つ)。 |
| 69 | ネットワークポリシー | ネットワークルール | ポリシー内で許可/ブロック対象(IP範囲、Azure Private Link ID、AWS VPCE ID等)を定義するオブジェクト。 |
| 70 | ネットワークポリシー | Private Link / Private Service Connect | パブリックインターネットを経由せずプライベート接続する機能。Business Critical以上。 |
| 71 | セキュリティ | データ暗号化 | 全データを転送中・保存時で自動暗号化。階層鍵モデル、自動ローテーション。 |
| 72 | セキュリティ | 動的データマスキング | ロールに基づき列データをクエリ実行時に動的にマスク(Enterprise以上)。マスキングポリシーを適用。 |
| 73 | セキュリティ | マスキングポリシー | スキーマレベルオブジェクト。単一データ型・条件式・マスキング式から構成。適用には APPLY MASKING POLICY 権限が必要。 |
| 74 | セキュリティ | 外部トークン化 | 外部のトークナイゼーションプロバイダーと連携(Enterprise以上)。 |
| 75 | セキュリティ | 行アクセスポリシー | ロール等に基づき表示される行を動的にフィルタリング(Enterprise以上)。 |
| 76 | セキュリティ | セキュアビュー | ビュー定義(元テーブル等)を非所有者から隠蔽。データ共有等で利用。定義参照にはOWNERSHIP権限が必要。 |
| 77 | セキュリティ | オブジェクトタギング | オブジェクトにキー/値形式のタグを付与。分類、アクセスコントロール、コスト追跡等に活用。階層的に継承可能。 |
| 78 | セキュリティ | SCIM | IdPと連携し、Snowflakeのユーザー/ロールを自動プロビジョニング。 |
| 79 | セキュリティ | Tri‑Secret Secure | 顧客管理キー(CMK)を組み合わせる階層暗号化モデル(Business Critical以上)。 |
| 80 | エディション/機能 | Query Acceleration Service (QAS) | 一部の大規模スキャン等をサーバーレスリソースにオフロードして高速化(Enterprise以上)。 |
| 81 | コスト | サーバーレス機能課金 | Snowpipe/Auto Clustering/SOS/QAS/MV維持/Serverless Tasks等はウェアハウスとは別に課金。機能により課金モデルが異なる(計算時間ベース or データ量ベース等)。 |
| 82 | コスト監視 | Resource Monitor | クレジット消費量を監視し、閾値で通知や自動停止/即時停止を実行。コスト管理の必須機能。 |
| 83 | クエリパフォーマンス | データスピレッジ (Spilling) | クエリ中間結果がメモリ超過でディスク書き込みされる現象。パフォーマンス低下の原因。WHスケールアップが有効。Query Profileで確認可。 |
| 84 | クエリプラン | 実行計画 (Explain Plan) |
EXPLAIN コマンドで、実行前にクエリの論理/物理実行計画を確認。 |
| 85 | クエリプロファイル/分析 | クエリプロファイル (Query Profile) | 実行済みクエリの各ステップの詳細パフォーマンス統計を視覚的に分析。ボトルネック特定に有効。追加コストなし。 |
| 86 | Snowpipe | Snowpipe | ステージへのファイル到着をトリガーに、自動・継続的にマイクロバッチでデータをロード。サーバーレス。ロード履歴14日保持。 |
| 87 | Snowpipe | 自動取り込み (Auto‑Ingest) | クラウドのイベント通知を利用し、ファイル到着を自動通知してSnowpipeを起動。 |
| 88 | ステージ | ステージ (Stage) | データロード/アンロード用の一時ファイル配置場所。内部 (Snowflake管理) / 外部 (S3等) がある。内部ステージ削除でファイルは復元不可。 |
| 89 | ファイルアクセス | ファイルアクセスURL | ファイルURL (永続, 要認証), スコープ付きURL (短命, 発行者スコープ), 署名付きURL (短命, 認証不要)。対応関数で生成。 |
| 90 | ファイル形式 | ファイルフォーマット (File Format) | CSV/JSON/Parquet等の形式とオプションを定義する名前付きスキーマオブジェクト。指定優先度は COPY文 > ステージ > デフォルト。 |
| 91 | ロードコマンド | COPY INTO <table>
|
ステージからテーブルへデータをロード。ファイル形式、パターン、SELECTによる変換、エラー処理、検証等を指定可。ロード済みファイルは既定でスキップ。 |
| 92 | アンロード | COPY INTO <location>
|
テーブル/クエリ結果をステージにアンロード (エクスポート)。ファイル形式、サイズ上限 (デフォルト16MB)、SINGLE=TRUE、PARTITION BY等を指定可。 |
| 93 | ロードコマンド | PUT / GET | PUT=ローカル→内部ステージへアップロード。GET=ステージ→ローカルへダウンロード。SnowSQL等のクライアントが必要。 |
| 94 | ロードコマンド | VALIDATION_MODE / VALIDATE() |
COPY INTOのVALIDATION_MODEはロードせず検証のみ実行。VALIDATE()テーブル関数は過去COPYジョブのエラー確認。 |
| 95 | ステージ | REMOVE | ステージからファイルを削除するコマンド。 |
| 96 | ロードベストプラクティス | データロードのベストプラクティス | ファイルサイズ圧縮後100〜250MB目安。巨大ファイルは分割。外部ステージは論理パスで整理。ロード後はファイル削除推奨。ロード専用WH使用推奨。 |
| 97 | SQL関数/コマンド | SQL関数/コマンド (データ変換関連) |
RESULT_SCAN, MERGE, SAMPLE, WITH RECURSIVE, INTERSECT/MINUS, SPLIT_TO_TABLE, FLATTEN, 半構造化関数, ウィンドウ関数 等、豊富。 |
| 98 | UDF/ストアドプロシージャ | UDF / ストアドプロシージャ |
UDF=計算処理 (スカラ/UDTF)、DB操作不可。プロシージャ=一連の処理 (DDL/DML可)。複数言語サポート。**実行権限 (CALLER/OWNER)**選択可。外部関数=外部API呼出し。 |
| 99 | ストリーム/タスク | Streams / Tasks |
Streams=CDCを提供 (METADATA$* 列)。DMLコミットで消費。未消費時はTime Travel期間延長。Tasks=スケジュール/StreamトリガーでSQL/プロシージャ自動実行。 |
| 100 | データ共有 | Secure Data Sharing | 物理コピーなしで読み取り専用アクセスを他Snowflakeアカウントと共有。Shareにオブジェクト登録、コンシューマーを指定。コンピュートはコンシューマー負担、ストレージはプロバイダー負担。 |
| 101 | データ共有 | Data Exchange / Marketplace | Data Exchange=招待制プライベート共有ハブ。Marketplace=公開/限定公開データセットを探索・利用できるプラットフォーム。Secure Data Sharingが基盤。 |
| 102 | レプリケーション | レプリケーション | DBやアカウントオブジェクトを別アカウントへ非同期複製。DR/BCPやリードレプリカに利用。フェイルオーバー/バックはBusiness Critical以上。 |
Discussion