こんにちは、truestarの高橋杏太です。
先月のSnowflake Summit 2023の影響もあってか、truestar内で「SnowPro Coreちょっと受けてみようかな!」という声が以前より増えた気がします。
一方で、勉強を始めた方からは「英語の勉強教材しかほぼないから、モチベーションが湧かない」「試験何から、始めればいいのか分からない」という声もちらほら。
実際、私も英語の壁や日本語でまとまった試験対策がないから反復練習できず、知識が全く定着していません。
というわけで、試験勉強を少しでも円滑に進めるため日本語のドキュメントを試験内容に沿って整理してみたいと思います。
また、まとめるだけだと記事として味気ないので、これまで勉強してみて有効だった方法や押さえておきたい用語も記載しました。
皆様の試験勉強の一助になれば幸いです。
SnowPro Core試験学習ガイド
正直、SnowPro Coreを学ぶ際は公式から出ている [COF-CO2] Snowpro Core試験学習ガイドを参考に勉強方針を立てるのが手っ取り早いと思います。
じゃあ、このブログの意味ないじゃんと言われたら本当にその通りなのですが、学習ガイドはドキュメントが多く初学者は何から手を付けてよいかわからないと思ったため、ある程度絞ってドキュメントをまとめた次第です。
そのため以下内容は、実際の試験範囲よりドキュメント数を絞ってあるので勉強の取っ掛かりにはなるけど、網羅性はないことをご認識のうえ足がかりとしてご活用ください。
試験範囲
以下、公式が出している試験範囲と予想される割合になります。
分野 | 予想される割合 |
---|---|
1. Snowflake Cloud Data Platformの機能とアーキテクチャ | 25% |
2.アカウント アクセスとセキュリティ | 20% |
3.パフォーマンスの概念 | 15% |
4.データのロードとアンロード | 10% |
5.データ変換 | 20% |
6.データ保護とデータシェアリング | 10% |
この試験範囲の分野を元に、公式ドキュメントをまとめてみました。
1. Snowflake Cloud Data Platformの機能とアーキテクチャ
Snowflakeの主要機能と概要が問われる項目となります。
この項目をしっかり押さえないと、後で学習する項目がどこの何を指すのか分からなくなるため、確実に知識を定着させましょう。
出題の目的
1.1 Snowflake Cloud Data Platformの主要機能の概要を説明する。
1.2 主要なSnowflakeのツールとユーザーインターフェイスの概要を説明する。
1.3 Snowflakeのカタログとオブジェクトの概要を説明する。
1.4 Snowflakeのストレージ概念の概要を説明する。
公式ドキュメント
重要な概念およびアーキテクチャ
主な機能の概要
データベース、スキーマ、共有DDL
Snowflakeのテーブル構造について
仮想ウェアハウス
2.アカウントのアクセスとセキュリティ
Snowflakeのセキュリティ、ロールや権限が問われる項目となります。
Snowflakeはセキュリティが細かく設定できる反面、覚えることも多いため
用語を抑える→全体観を掴む→細かい設定の順で徐々に内容を掴んでいくのがいいと思います。
出題の目的
2.1 セキュリティ原則の概要を説明する
2.2 Snowflakeで使⽤されるエンティティとロールを定義する
2.3 Snowflakeのデータガバナンス機能の概要を説明する
公式ドキュメント
アクセス制御の概要
組織およびアカウントを管理する
Snowflakeのセキュリティ保護
3.パフォーマンスの概念
仮想ウェアハウスとクエリのパフォーマンスについて問われます。
1のアーキテクチャを理解していれば、そこまで重くない内容です。
出題の目的
3.1 クエリプロファイルの使い⽅を説明する。
3.2 仮想ウェアハウスの構成を説明する。
3.3 仮想ウェアハウスのパフォーマンスツールの概要を説明する。
3.4 クエリパフォーマンスを最適化する。
公式ドキュメント
仮想ウェアハウス | Snowflake Documentation
総コストについて | Snowflake Documentation
マルチクラスターウェアハウス | Snowflake Documentation
マテリアライズドビューの使用 | Snowflake Documentation
4.データのロードとアンロード
データロード、アンロードをする際の方法やベストプラクティスについて問われます。
実務的な内容のため、実際に触ることで理解が深まる分野だといえます。
出題の目的
4.1 データのロード時に考慮すべき概念とベストプラクティスを定義する。
4.2 データのロードに使うさまざまなコマンドと使うべきタイミングの概要を 説明する。
4.3 データのアンロード時に考慮すべき概念とベストプラクティスを定義する。
4.4 データのアンロードに使うさまざまなコマンドと使うべきタイミングの概要を説 明する。
公式ドキュメント
データのロードの概要 | Snowflake Documentation
Snowflakeへのデータのロード | Snowflake Documentation
5.データ変換
UDF、ストアドプロシージャ、半構造化データ、非構造化データの扱いについて問われます。
ここは本当に、暗記といったところなのでドキュメントを読んで地道に覚えていく必要がある分野です。
出題の目的
5.1 標準データの操作⽅法を説明する。
5.2 半構造化データの操作⽅法を説明する。
5.3 ⾮構造化データの操作⽅法を説明する。
公式ドキュメント
ユーザー定義関数の概要 | Snowflake Documentation
ストアドプロシージャの概要 | Snowflake Documentation
半構造化データ | Snowflake Documentation
非構造化データサポートの概要 | Snowflake Documentation
6.データ保護とデータシェアリング
Snowflakeのデータシェアリング、またデータを保護する仕組みについて問われます。
Time TravelやFail-safeに関しては、分野1の内容を理解していれば、その派生で理解ができるので、
そこまで覚えることは多くないという印象です。
出題の目的
6.1 Snowflakeによる継続的なデータ保護の概要を説明する。
6.2 Snowflakeデータシェアリング機能の概要を説明する。
公式ドキュメント
Snowflake Time TravelおよびFail-safe | Snowflake Documentation
Snowflake Marketplace について | Snowflake Documentation
データベース複製の考慮事項 | Snowflake Documentation
勉強のときに意識すべきポイント
ここからは、私のようなデータベースもクラウドも触ったことない方は押さえた方がよいポイント、勉強方法をまとめました。
※あくまで1か月ほど勉強してみての所感になります。実際に試験を受けたわけではないので、参考程度にとどめてください。
事前知識の勉強
どの技術にも言えることですが、Snowflakeの試験範囲だけではなく、一般的なデータベース、SQL、クラウドなどの知識が必要となります。少しずつでよいので、分からない単語が出たら調べていくを繰り返すとSnowflakeの特徴がより理解できるようになりました。
一般的なシステムとの比較
公式やネットに落ちている問題を解いて感じるのは、一般的なクラウドやデータベースのシステムは○○だけど、Snowflakeではこういうことができます!という観点の問題が多いように感じます。
そのため、データベースやクラウドにおいて一般的なシステムは何かという観点からSnowflakeの特徴を比較すると、理解が深まるので勉強方法としておススメです(効率的とは言っていない)。
日本語ブログ、Youtubeを徹底的に活用せよ
Snowflakeがかなり普及したおかげか、Youtubeや日本語ブログがとても充実しています。下記の押さえた方がいい単語の解説は検索すれば大体出てくるので、理解が怪しいなと思ったら積極的に検索しましょう!
(おまけ)押さえた方がいい単語
よく問題で見る、Snowflakeが力を入れている、試験範囲として明確に記載されているものを記載しています。個人の勉強用のものですが、ご参考にしてください。
- マイクロパーティション
- タイムトラベル
- フェールセーフ
- ゼロコピークローン
- マルチクラスターシェアード
- マルチクラスターウェアハウス
- プルーニング
- ユーザー定義関数
- マテリアライズドビュー
- クラスタリング
- SQL Optimization
- ステージ
- キャッシング
- Snow SQL
- 仮想ウェアハウス
- COPY INTO TABLE
- Snowpipe
- データシェアリング
おわりに
Snowflakeは今後さらに熱いサービスになることが予想されますので、今のうちに脱・初心者を目指していきたいですね。今回の記事が試験勉強の足掛かりになることを願っております。
一緒に、試験勉強頑張っていきましょう~
ではまた。
これまでのSnowflakeに関する記事はこちら