Snowflake初心者向け教育の実践比較

初めまして。

オンプレ業務SEからデータエンジニアへのキャリアチェンジ目指して奮闘中のアラフォーです。
クラウド知識ゼロだった私が、試行錯誤しながらSnowflakeの勉強を始めたので、
現在までに取り組んでみた教材を紹介したいと思います。
これからSnowflake始めてみたいという方の参考になれば・・・！

# 取り組んだ教材（すべて無料）
取り組んだ順に並べます。
1.  [AWS Skill Builder: 「AWS Cloud Practitioner Essentials (Japanese) (Na) 日本語実写版」](https://explore.skillbuilder.aws/learn/course/1875/AWS%2520Cloud%2520Practitioner%2520Essentials%2520%28Japanese%29%2520%28Na%29%2520%25E6%2597%25A5%25E6%259C%25AC%25E8%25AA%259E%25E5%25AE%259F%25E5%2586%2599%25E7%2589%2588)
2.  [Snowflake チュートリアル: 「Snowflakeを20分で紹介」](https://docs.snowflake.com/ja/user-guide/getting-started-tutorial)
3.  [Udemy: 「ゼロから始める「Snowflake」最速入門コース」](https://www.udemy.com/course/snowflake-basic/learn/lecture/28722584?start=0#overview)
4.  [Snowflake University: 「Level Up シリーズ (101～109)」](https://learn.snowflake.com/en/#learningTracks)
5.  [Snowflake University: 「Hands On シリーズ (Badge 1: Data Warehousing Workshop )」](https://learn.snowflake.com/en/#learningTracks)

# 各教材の特徴と感想

**1. AWS Skill Builder: 
「AWS Cloud Practitioner Essentials (Japanese) (Na) 日本語実写版」**

Snowflakeじゃないじゃん・・・と思われるかと思いますが、
クラウド知識ゼロだった私にとって、これを先に取り組んでおいてよかった！
と感じたので、掲載しました。
Snowflakeの教材に、「S3」「AZ」等、AWS特有の用語が出現します。
都度調べれば問題ないレベルですが、クラウド知識ゼロ、かつ、
ある程度時間がある方は、
下記の「★」をつけた単元を事前に取り組むことをオススメします。

＜全カリキュラム＞
* モジュール 1: アマゾンウェブサービスの紹介　★
* モジュール 2: クラウドでのコンピューティング
* モジュール 3: グローバルインフラストラクチャと信頼性　★
* モジュール 4: ネットワーク
* モジュール 5: ストレージとデータベース　★
* モジュール 6: セキュリティ
* モジュール 7: モニタリングと分析
* モジュール 8: 料金とサポート
* モジュール 9: 移行とイノベーション
* モジュール10: クラウドジャーニー
* モジュール11: AWS認定クラウドプラクティショナーの基本
* 最終認定テスト

＜対象者＞　　AWSについて全く知らない人
＜所要時間＞　★のみ：3時間程度　（私自身は全単元実施し、2日間かけました。）

**2. Snowflake チュートリアル: 
「Snowflakeを20分で紹介」**

タイトルに惹かれて始めてみましたが、
これは初心者向けではないのでは・・？と思いました。
「SnowSQL」というSnowflakeで用意されている
CLI(Command Line Interface)を使用します。
会社のアカウントでユーザを払い出してもらっていたので、
それを使用してなんとかログインできたものの、
手順に沿ってデータベースを作成しようとすると、「権限がない」のエラーが・・・
先輩に質問したところ、通常SnowflakeではCLIではなく
Webインタフェースの方を使うとのこと。
（CLIは特別な時にしか使用しないんだとか）
で、権限については、払い出したユーザのデフォルト権限に
オブジェクトの作成権限がなく、まず権限を変更する手番が必要でした。
その時、軽くWebインタフェースの使い方を教わりましたが、
こ、こんなに簡単にデータベースが作れちゃうのか！と感動しました。
したがって、このコースはほぼ実施していません。

＜対象者＞　　Snowflakeのアカウントを作成した新規ユーザ（CLIに慣れている方）
　　　　　　　※アカウント管理者のデフォルト権限は最高レベルなので、
　　　　　　　　データベース作成できるはずです。
＜所要時間＞　CLIに慣れている方であれば、おそらく20分

**3. Udemy: 
「ゼロから始める「Snowflake」最速入門コース」**

Snowflakeの希少な日本語教材！英語に抵抗がある方のとっかかりは
こちらがオススメです。
「最速入門」の名の通り、ざっくり概要のみの内容となりますが、
「面白い！」「もっと知りたい！」「英語でもがんばって勉強したい！」と
やる気を引き出してくれます。

一応ハンズオンが含まれているので、
無料トライアルアカウントの作成が必要になります。
（私自身は、会社アカウントで払い出してもらったユーザを使用しました。）
ハンズオンの内容は、CSVファイルをローカルPCからロードして、
SELECT文実行してみる(JOINもあり)といったものです。


＜対象者＞　　Snowflakeについて全く知らない人
＜所要時間＞　3時間程度

**4. Snowflake University: 
「Level Up シリーズ (101～109)」**

Snowflake公式の教材です。英語です。
英語「を」学んだことはあっても、英語「で」学んだことはなかったので、
かなりのエネルギーを費やしました。。

まず、公式ホームページをどう見ればよいか迷ったので、簡単に説明。
https://learn.snowflake.com/en/
![LevelUpシリーズ説明.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3553040/7f6f0e74-2d20-91dd-0a79-c31f040cb8d4.png)

内容は、「SnowPro Core認定」資格取得を目指している方向けの座学、
という感じでしょうか。
ビデオやPDF、スライド等を通して学習し、最後に豊富な問題を解きます。
PDFはダウンロードして翻訳にかけられるのですが、
ビデオは字幕なし、スライドは埋め込み型なのでテキストコピーができず・・・
スライドの方はGoogle翻訳に手打ちで対応し、
ビデオはスピード落として何度か頑張る、、
といった感じで取り組みましたが、最後の問題でどうしても分からないものが
いくつかあったので理解不十分なんだろうなと思います。
また、参考になる公式ドキュメントのリンクもあったので、
本当はそれらも熟読すべきなのだと思います。

＜全カリキュラム＞
* LVLUP-101 Level Up: First Concepts
* LVLUP-102 Level Up: Snowflake Key Concepts
* LVLUP-103 Level Up: Snowflake Ecosystem
* LVLUP-104 Level Up: Accounts & Assurances
* LVLUP-105 Level Up: Container Hierarchy
* LVLUP-106 Level Up: Data Loading
* LVLUP-107 Level Up: Resource Monitoring
* LVLUP-108 Level Up: Backup and Recovery
* LVLUP-109 Level Up: Final Exam

＜対象者＞　　「SnowPro Core認定」資格取得を目指している方
＜所要時間＞　英語で学ぶことに不慣れな場合、18時間程度

**5. Snowflake University: 
「Hands On シリーズ (Badge 1: Data Warehousing Workshop )」**

Snowflake公式の教材です。英語ですが、動画は字幕付きだし、
LevelUpシリーズのような埋め込みスライドはありませんので、全教材翻訳ができます！
SnowflakeでのDB作成、データ挿入・抽出方法等、基本的な内容が学べます。
特に半構造化データの扱い方は興味深かった・・・！

しかも、説明がとても丁寧で、Snowflakeの機能にとどまらず、
RDBとはなんぞやというレベルから教えてくれます。
なので、IT初心者という方々もたくさん訪れるのでしょう。
運営者からの「よく調べもせずに掲示板に質問を投稿するな」という感じの
メッセージが溢れています。。

そして特徴的なのが、「DORA」という採点ロボット！
実態は、JavaでいうJUnitみたいなテストコードで作られた関数を呼び出すものでした。
コース内で作成したビューやテーブルの数とか、
ロードした行数の答え合わせを行います。
全部マッチすると、以下の認定バッチがもらえます！

<img width="300" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3553040/2ee4d0cc-5010-ea00-0f21-3195ce0a4db2.png" >


ハンズオンなので、当然アカウントが必要になります。
今まで会社アカウントを使わせていただいてましたが、
費用を確認すると、意外と高め・・・と感じたのと、
コース内でも、万が一のケースを考慮してトライアルアカウントを作った方がよい
と説明があったので、
ここで初めて無料トライアルアカウントを発行してみました。
30日間という期限付きなので、
この期間に思う存分ハンズオンをやってみたいところです。

＜全カリキュラム＞
* Lesson 1: Getting Set Up
* Lesson 2: Identity and Access
* Lesson 3: Data Containers
* Lesson 4: Tables, Data Types, and Loading Data
* Lesson 5: Worksheets & Warehouses
* Lesson 6: File Formats & the Load Wizard
* Lesson 7: Meet DORA!
* Lesson 8: Staging Data
* Lesson 9: Data Storages Structures
* Lesson 10: Intro to Semi-Structured Data

＜対象者＞　　IT知識はほとんどないけど、Snowflake触ってみたい！という方
＜所要時間＞　3時間×3日と記載がありましたが、私は18時間程度かかってます・・

# 振り返り
試行錯誤やってみましたが、
もしいつかSnowflakeやってみたいという後輩が現れたら
オススメの進め方は以下のとおり。

1.  [AWS Skill Builder: 「AWS Cloud Practitioner Essentials (Japanese) (Na) 日本語実写版」](https://explore.skillbuilder.aws/learn/course/1875/AWS%2520Cloud%2520Practitioner%2520Essentials%2520%28Japanese%29%2520%28Na%29%2520%25E6%2597%25A5%25E6%259C%25AC%25E8%25AA%259E%25E5%25AE%259F%25E5%2586%2599%25E7%2589%2588)　
　※時間に余裕があれば、モジュール1,3,5のみ
1.  [Udemy: 「ゼロから始める「Snowflake」最速入門コース」](https://www.udemy.com/course/snowflake-basic/learn/lecture/28722584?start=0#overview)
1.  [Snowflake University: 「Hands On シリーズ (Badge 1: Data Warehousing Workshop )」](https://learn.snowflake.com/en/#learningTracks)

振り返ってみて、LevelUpシリーズで学習したことが、
まだまだ実践できるようになっていないことに気が付いたので
（特にバックアップ系とか）、
次は以下のコースに取り組んでみようと思います。
上記のオススメ順が入れ替わる予感。。。
（業務で扱うようになったらまた変わるんだろうなぁ。）


 [Snowflake チュートリアル: 「Snowflake入門-ゼロからはじめるSnowflake」](https://quickstarts.snowflake.com/guide/getting_started_with_snowflake/index.html#0)

# 最後に
ここまでお読みいただき、ありがとうございました。
Qiitaのブログ投稿も初めてだったので、お見苦しい点も多々あったかと思いますが、
どなたかのお役に立てる内容が少しでもあれば幸いでございます。