1ヶ月でGCP Professional Data Engineerを取得した勉強法

先日、Google Cloud認定資格のProfessional Data Engineer（PDE）に合格したので、勉強法を共有したいと思います。 
これからPDEを受験される方の一助となれば幸いです。

## 勉強を始める前の知識と経験
データベースやMLについての知識は全くない状態でしたが、Google Cloudの別資格であるPCAを取得していたので、サービスの概要やリファレンスアーキテクチャについてはざっくり把握している状態でした。

Google Cloudのサービスは OSSが元となっているものもあるので、それらの知識があった方がよいですが、全く知らない状態から勉強を開始しても約1ヶ月で合格することができました。
なので、実務経験やデータ分析などの知識がなくても十分に合格できる資格だと思います。

## 勉強方法
実際の勉強時間は、約1ヵ月（約 60時間）かかりました。
主な勉強リソースとしては [Coursera](https://ja.coursera.org/)を使用して進めました。Courseraは、動画による講義 ⇒ Qwiklabsを使用したハンズオン ⇒ 理解度テストで構成されています。
個人的にはハンズオンをすることで、かなり知識の定着に繋がったと感じるのでおすすめです。
(実際にGCPのアカウントを作成して試すこともできますが、かなり利用料がかさむと思います…)

私は、会社の福利厚生により無料でCourseraを使用できましたが、一般的には7日間のトライアルはあるものの、それ以降は基本的に月額料金が発生するため、ご利用される方は意図しない課金が発生しないようご注意ください。

実際にどのような手順で勉強を進めていったか、以下にまとめます。

#### 1. [Google Cloud Big Data and Machine Learning Fundamentals 日本語版](https://www.coursera.org/learn/gcp-big-data-ml-fundamentals-jp?specialization=gcp-data-machine-learning-jp)  

これは必須で受講した方がよい講義だと思います。
本試験で出題されるサービスの概要を一通り確認することができます。

#### 2. [模擬試験](https://cloud.google.com/certification/sample-questions/data-engineer?hl=ja) を受けてみる（1回目）

Google Cloud公式の模擬試験（30問）が無料で受験できます。
何度でも受験することができますが、出題される問題はすべて同じです。

私が1回目に解いてみた際には、勘も冴え渡っており約7割の正答率でした。（自信をもって回答できたのは、多く見積もって5割程度だった気はしますが…）
試験直前にも勉強の成果を試すために再受験したかったので、がっつり回答や解説は読み込まず、さらっと流しました。

#### 3. [Modernizing Data Lakes and Data Warehouses with GCP 日本語版](https://www.coursera.org/learn/data-lakes-data-warehouses-gcp-jp?specialization=gcp-data-machine-learning-jp)

データパイプラインにおいて、とても主要なコンポーネントであるデータレイクとデータウェアハウスについてです。
データレイクとかデータウェアハウスって何？ という方でも、概要から説明が始まるので理解しやすいと思います。

#### 4. [Building Batch Data Pipelines on GCP 日本語版](https://www.coursera.org/learn/batch-data-pipelines-gcp-jp?specialization=gcp-data-machine-learning-jp)
#### 5. [Building Resilient Streaming Analytics Systems on GCP 日本語版](https://www.coursera.org/learn/streaming-analytics-systems-gcp-jp?specialization=gcp-data-machine-learning-jp)

上記の2コースは、データパイプラインのバッチ処理とストリーミング処理についてです。
**どんなケースでどちらの処理が適しているのかは、試験でよく出題される印象がありました**ので、それぞれの違いやユースケースなどは抑えておくとよいと思います。

#### 6. [Smart Analytics, Machine Learning, and AI on GCP 日本語版](https://www.coursera.org/learn/smart-analytics-machine-learning-ai-gcp-jp?specialization=gcp-data-machine-learning-jp)

MLやAIについてのコースです。
このコースは、「Google Cloud Big Data and Machine Learning Fundamentals」の内容と類似しているところも多いので、流し見する程度でも大丈夫かもしれません。
試験でもMLの問題は出題されますが、比率としては1~2割程度でしたので、個人的にはデータパイプラインなどのコースと比べると重要度は落ちると思います。

#### 7. 模擬試験 を受けてみる（2回目）

ここで2度目の模擬試験を受けて、結果は1回目とほぼ変わらず約7割の正答率でした。
ですが、確実に自信をもって回答できている問題が増えていたので、少し自信をつけることができました。

#### 8. [Preparing for the Google Cloud Professional Data Engineer Exam 日本語版](https://www.coursera.org/learn/preparing-cloud-professional-data-engineer-exam-jp?specialization=gcp-data-engineering-jp)  

このコースの動画講義は、今までのコースと大半が重複していると感じたため、軽く流して見るだけでにしました。
**コースの最後に25問の模擬問題が含まれている**ので、そちらは受けられることをお勧めします。

## 受験後の感想
かなり難しい試験だなと感じました。以前に受験したPCAと比べても、PDEの方が高難易度だと感じました。

また、勉強方法でご紹介した**公式の模擬試験や、Courseraの模擬問題より難易度が高いものが出題されました。**
公式の模擬試験レベルの問題が出題されたら、サービス問題だと思います。

## 試験のTips
[GCP Professional Data Engineerに2週間で合格したので勉強方法を共有](https://qiita.com/endw0901/items/5ebc530de3e9ffee4416#%E8%A9%A6%E9%A8%93%E3%81%AE%E3%83%86%E3%82%AF%E3%83%8B%E3%83%83%E3%82%AF%E7%9A%84%E3%81%AA%E3%82%82%E3%81%AE%E3%82%92%E7%B4%B9%E4%BB%8B)
こちらの記事に書かれている **試験のテクニック的なものを紹介** は必読です！！
試験中もこれを読んでいたから助けられたところは多くありました。受験前にここに書かれていることは100％に近いレベルで理解しておくと合格率が各段に違うと思います。

私が受験をして、しっかり勉強しておいてよかったと思う点もいくつか追記します。

**■ストレージ関係**
・[Cloud SQL のストレージ上限](https://cloud.google.com/sql/docs/mysql/quotas?hl=ja#storage_limits)
Cloud SQL のストレージ上限は、マシンタイプなどによって異なりますが、最大64TBまでとなっています。
要件として、64TBを上回るストレージ容量が必要な場合は、Cloud SQLは選択できません。

・[Bigtableのスキーマ設計について](https://cloud.google.com/bigtable/docs/schema-design?hl=ja)
トランザクションは 1 つの行内でのみサポートされている。
各テーブルのインデックス（行キー）は 1 つのみで、二次インデックスはないなど。

**■パイプライン**
・[Kafka と Pub/Sub の違いについて](https://cloud.google.com/architecture/migrating-from-kafka-to-pubsub?hl=ja#understanding_the_differences_between_kafka_and_pub_sub)
Pub/Subには、メッセージを保持しておける期間の制限があるので注意が必要である。

## 最後に
非常に難しい試験ですが、要点を抑えて勉強をすれば合格することができると思います。
皆様のご検討をお祈りいたします！