Professional Data Engineer試験対策マニュアル。出題傾向・勉強方法

記事タイトルとURLをコピーする

G-gen の杉村です。Google Cloud 認定資格の1つである Professional Data Engineer 認定資格は、Google Cloud でのデータエンジニアリングやデータ分析に関する難関資格です。当記事では、試験の学習に役立つ情報を記載します。

はじめに

当記事の内容

当記事では、Google Cloud(旧称 GCP)認定資格の1つである Professional Data Engineer 認定資格の学習に役立つ情報を紹介します。Professional Data Engineer 認定資格は、Google Cloud でのデータエンジニアリングやデータ分析に関する難関資格です。

試験の利用規約において、試験の内容を公開することは禁じられています。そのため当記事では試験問題そのものを書くこと等はせず、主にサービスカットで、合格するためには何を知っているべきかという観点で情報をご提供します。

なお、当記事で試験範囲を全てカバーできているわけではありません。公式の試験ガイドや模擬試験なども駆使して、学習を進めてください。

想定読者

当記事は以下のような方向けです。

  • Professional Data Engineer 試験の出題傾向を知りたい
  • Google Cloud サービスやデータエンジニアリングの基本的な知識は把握済みである
  • 近日中に試験を受けようと思っているので、知識の確認をしたい

また前提知識として Google Cloud の基礎知識が必要です。Associate Cloud Engineer 試験相当の知見は持っておくことが推奨されます。以下の記事も参考にしてください。

blog.g-gen.co.jp

試験の難易度

Professional Data Engineer 試験の難易度は、比較的高いと言えます。

IPA の「応用情報技術者試験」程度の基本的な IT の知識があり、かつ Google Cloud をある程度業務で使用した経験があることが望ましいです。これに加えて、データモデリングや ETL / ELT 、分散アーキテクチャのデータ処理基盤や RDBMS、NoSQL データベースなどのデータ関連技術要素に関する基礎知識が必要です。

これらの情報技術に関する基礎知識のうえに、Google Cloud のデータベースやデータ処理に関するサービスや、サービスの組み合わせなどについて、書籍や公式ドキュメントで理解しておくこと必要があります。

また、普段から Google Cloud の公式ブログやドキュメントのベストプラクティスに目を通し、Google の考える「クラウドらしいクラウドの使い方」という一種の哲学を、頭にインプットしておくことが重要です。

これらに加えて、当記事で追加の学習をすれば、合格は難しくないと言えます。

推奨の勉強法

  1. Associate Cloud Engineer を先に取得する
  2. 書籍や各社のブログ等で Google Cloud のデータ関係サービスの概要を理解する。特に以下のサービスに着目する
    • BigQuery、Dataplex、Dataplex Universal Catalog、Cloud Storage、Dataflow、Pub/Sub、Cloud Composer、Bigtable、Dataproc、BigQuery ML
  3. 試験ガイドを読み、出題範囲を理解する
  4. 当記事を読み、出題傾向を理解する
  5. 把握した試験範囲・出題傾向をもとに勉強する
  6. 模擬試験を受け、足りない知識を認識して、ギャップを埋める勉強をする

試験ガイドや模擬試験へのリンクは、以下の公式ページから確認できます。

出題傾向

当記事ではこれ以降、出題傾向や必要な知識を解説します。分からない言葉や知らない用語があれば、公式ドキュメントなどを辿り、十分知識をつけてください。

そのように勉強すれば、試験に合格できるのに加え、実践的な知識となるでしょう。

セキュリティとガバナンス

組織、IAM

Identity and Access Management(IAM)の継承の概念や、リソースとの紐づけ、またリソース階層(組織、フォルダ、プロジェクト、各リソース...)の概念については確実に理解してください。以下の記事を参照してください。

blog.g-gen.co.jp

また IAM と BigQuery の組み合わせの応用として、承認されたビューの使用方法も問われます。この機能については、以下の記事を参照してください。

blog.g-gen.co.jp

個人情報の扱い

個人識別情報(PII)の扱いについては、頻出です。

PII を保存して必要なときには参照できるようにしておきたいが、適切な権限を持っている人以外は閲覧できないようにしたい、という場合、Sensitive Data Protection(旧称 Cloud Data Loss Prevention、Cloud DLP)が活躍します。

元データに対して「削除」や「マスキング」を行って上書きすると当然、元のデータが失われてしまいます。一方で暗号ベースのトークン化変換という手法のうちフォーマット保持暗号化確定的暗号化を使うと、暗号鍵への権限さえあれば再度、元の値を復元できます。反対に暗号ハッシュ化をしてしまうと元の値に戻せない(不可逆)である点に注意してください。

VPC Service Controls

VPC Service Controls は、Google Cloud の API とデータを保護するための仕組みです。以下の記事を読んで、概要を把握してください。

blog.g-gen.co.jp

VPC Service Controls の境界(perimeter)には、プロジェクトまたは VPC ネットワークを追加することができます。VPC ネットワークだけを追加しても、プロジェクトの API は保護されない点に注意してください。

BigQuery

基本的な知識

Google Cloud の誇るフルマネージドなデータウェアハウスである BigQuery は、当試験で最も出題されるプロダクトです。まずは以下の記事で、BigQuery の機能や用語を一通り理解してください。

blog.g-gen.co.jp

blog.g-gen.co.jp

BigQuery 以下のような概念を理解していれば、多くの問題に答えることができます。用語やドキュメントの暗記ではなく、概念として腹落ちするまで理解するようにしてください。

  • BigQuery の特質
    • 列志向ストレージ
    • 分散アーキテクチャ
    • スロットと予約(Reservation)
  • パーティショニングとクラスタリング
  • 権限管理
    • IAM
    • 承認済みビュー、承認済みデータセット
    • BigQuery Sharing(旧称 Analytics Hub)
    • 列レベルのアクセス制御、行レベルのセキュリティ
  • バックアップとタイムトラベル
  • ロケーション選択にてマルチリージョンを選択する意味
  • ストリーミングインサート(メリットとデメリット)

関連記事

上記の学習にあたっては、以下の記事も参考にしてください。

blog.g-gen.co.jp

blog.g-gen.co.jp

blog.g-gen.co.jp

blog.g-gen.co.jp

blog.g-gen.co.jp

外部テーブルと BigLake テーブル

BigQuery では、外部テーブルを定義することで、Cloud Storage 上の CSV や Parquet といった形式のファイルに対して、リアルタイムにクエリを実行することができます。また、外部テーブルの発展版である BigLake テーブルへの理解も必要です。

BigLake テーブルにはメタデータキャッシュ機能があり、パフォーマンス向上につながります。

データの共有

BigQuery Sharing(旧称 Analytics Hub)を使うと、少ない労力で他の組織に BigQuery データセットを安全に共有できます。アクセス制御を適切に行なったうえで共有でき、データのコピーは必要ありません。

BigQuery Sharing(Analytics Hub)は、限定公開リスティングを使うことで同じ組織内での共有に利用することもできます。

Cloud Storage

基本的な知識

Cloud Storage に関する問題も頻出です。以下の記事で、一通りの機能を把握してください。

blog.g-gen.co.jp

複数リージョンとターボレプリケーション

Cloud Storage バケットの作成時に、バケットを配置するリージョンを単一リージョン、デュアルリージョン、マルチリージョンの3種類の中から選択可能です。これにより、データの可用性や堅牢性が向上します。ただし、リージョン間のデータレプリケーションは非同期で行われ、60分以上の遅延が発生する場合もあります。

データの RTO を短縮するには、ターボレプリケーションの有効化が効果的です。有効化すると、追加料金と引き換えに15分以内でデータの複製が完了します。

Bigtable

基本的な知識

Bigtable は、Google Cloud のフルマネージドの NoSQL データベースです。どのようなアクセスユースケースで Bigtable を利用するのが望ましいのか、ユースケースを押さえておいてください。

以下の記事も参考にして下さい。

blog.g-gen.co.jp

テーブル設計

スキーマ設計についてはドキュメントをよく読み込んでおき、特に大事な行キーの設計はよく理解しておきます。テーブル、列ファミリー、列、行、セル、行キーといった概念を理解してください。

基本的に、行キーにタイムスタンプを使うのはバッドプラクティスです。タイムスタンプは連続した値になってしまうので、データ格納先のストレージ位置が集中してしまい、ホットスポットの原因となります。machine_4223421#1425330757685 のように先頭にカーディナリティの高い ID などと組み合わせてキーとする手法が使われます。

運用

モニタリング、本番用ワークロードと分析用ワークロードの分離(アプリプロファイル)、クラスタ拡張、 Key Visualizer など、管理運用面も把握しておきましょう。

適切なデータベースの選択

Cloud SQL、Firestore(旧 Datastore)、Spanner、Bigtable、BigQuery など、Google Cloud には多用なデータベースサービスが存在しています。それぞれのユースケースや、できること、できないことを把握しておきましょう。どういったユースケースでどのデータベースを選ぶのかを回答できるようにする必要があります。

以下の表を参考にしてください。

名称 Cloud SQL Firestore Spanner Bigtable BigQuery
概要 マネージドRDB。MySQL / PostgreSQL / SQL Server が利用可能 NoSQL データベース。モバイルアプリからもよく利用される 無制限のスケーリング、グローバル利用が可能なリレーショナルデータベース NoSQL データベース。高スループット、高スケーラビリティ データウェアハウス。分析目的の列指向 DB
ユースケース 一般的なアプリ。RDB Web、モバイル、ゲーム等で KVS がマッチする場合 金融、ヘルスケア、ゲーム等でグローバルなトランザクション 時系列データ、購入履歴、IoT 等。高スループット、高スケーラビリティが求められる SQL での分析や ELT
種類 RDB NoSQL(ドキュメント DB) RDB かつ分散アーキ NoSQL(ワイドカラム) データウェアハウス(表形式・列指向)
クエリ方法 SQL API もしくは SQL ライク言語 SQL API SQL
トランザクション △ (※) ✕ (1行のみ可)

(※) Firestore と Datastore で仕様が違う

Dataplex

Dataplex による権限管理

Dataplex は、分散されたデータの統合・管理を自動化するためのサービスです。データの権限管理を簡素化し、データメッシュの構築を後押しします。プロダクトの詳細は、以下の記事で把握してください。

blog.g-gen.co.jp

Dataplex では、BigQuery や Cloud Storage のデータへのアクセス権限の管理を行うことができます。具体的なアーキテクチャ等については、以下の記事も参考にしてください。

blog.g-gen.co.jp

Dataplex Universal Catalog

Dataplex Universal Catalog は、メタデータ管理のためのフルマネージドサービスです。BigQuery や Cloud Storage のデータのためのメタデータを管理し、データカタログを構築できます。かつて存在していた Data Catalog というプロダクトの後継プロダクトです。

以下の記事を参考にして、概要を把握してください。

blog.g-gen.co.jp

Dataflow

概要

Dataflow は Apache Beam のマネージドサービスです。リアルタイム処理とバッチ処理の両方を扱うことができる点が特徴です。Dataflow はマネージドサービスであるため、自動的なスケールイン・スケールアウトなどにより、小さい運用負荷でデータ変換処理を実現できます。当試験においては、Dataflow は BigQuery に次いで最も出題数が多いプロダクトといえます。

以下の記事を読んで、Dataflow の概要を理解してください。

blog.g-gen.co.jp

また以下のドキュメントを確認し、Apache Beam のプログラミングモデルについて概要を把握してください。

ウインドウ

Dataflow がストリーミングデータを扱う際に、データを分割してグルーピングする粒度として、ウインドウという設定を使用できます。タンブリングウインドウホッピングウインドウ(= スライディングウインドウ)、セッションウインドウの用語は押さえておきましょう。

exactly-once

例えば Pub/Sub から BigQuery へのデータ連携などでは、少なくとも1回(at-least-once)が原則である Pub/Sub からデータを受け取って、1回限り(exactly-once)の処理を実現できることも特徴です。

融合(fusion)

Dataflow は複数のワーカーを使って並列処理を行いますが、オペレーションの内容によっては自動的にジョブが最適化されて融合(fusion)が発生し、ジョブが少ないノードで実行されることがあります。場合によってはこれが非効率であり、実行時間が延びてしまうことがあります。reshuffle を使うことで、融合を回避するようなテクニックもあります。

ネットワークとファイアウォール

Dataflow の VM ノード同士が通信するには、VPC ファイアウォールルールでノード同士の通信を許可する必要があります。

  • 許可するポートはストリーミングジョブの場合は 12345/tcp、バッチジョブの場合は 12346/tcp
  • Dataflow VM ノード に付与されたネットワークタグでファイアウォールルールを作成する
  • ネットワークタグはデフォルトで dataflow が付与される。カスタムネットワークタグの付与も可能

Dataflow の学習においては、上記のような、ネットワークとファイアウォールに関する知識も把握しておいてください。詳細は以下のドキュメントに記載されています。

データパイプライン

Dataform

Dataform は、BigQuery 用のフルマネージドのデータパイプラインサービスです。BigQuery に実行する SQL をワークフロー管理でき、スケジュール実行や、Git リポジトリとの連携も可能です。ワークフローは SQLX と呼ばれる SQL ベースの言語で記述するため、SQL の知識があれば学習コストが小さく済みます。

以下の記事も参考にして下さい。

blog.g-gen.co.jp

なお Dataform ではアサーションと呼ばれるテストコードを記述することで、データ品質を検証できます。アサーションでは、null 値のチェック、一意制約のチェックなどが可能です。

Pub/Sub

多くの問題文、または選択肢において、Dataflow とセットで Pub/Sub が扱われます。Apache Kafka を Pub/Sub で置き換えるという定番パターンも出題されます。

Pub/Sub の基本概念(トピックとサブスクリプション)、デッドレタートピック、Push サブスクリプションの再試行ポリシーなどについて理解を深めてください。

Cloud Composer

Google Cloud のサービスを活用してジョブオーケストレーションを行うには Cloud Composer が有用な選択肢です。

ジョブ実行ツールとしては他に、Cloud Scheduler とサーバーレスサービスを組み合わせる方法などがありますが、Cloud Composer は DAG(有向非巡回グラフ)によるジョブの前後関係の管理や、モニタリング等の面で強みがあります。以下の記事も参照してください。

blog.g-gen.co.jp

blog.g-gen.co.jp

Dataproc

Hadoop/Spark のマネージドサービスである Dataproc も頻出です。公式ドキュメントを確認し、クラスタ構成や管理運用方法について把握しておきましょう。

Dataproc では基盤として Compute Engine VM が使われます。そのためパフォーマンス向上やコスト削減にあたっては、Compute Engine と同じ知識が使えます。例えば「ローカル SSD は永続ディスク(=ネットワークストレージ)よりもレイテンシが低い」であったり、「コスト効率を良くするために、セカンダリワーカーとして Spot VM(プリエンプティブル VM)が使用できる」などです。

また、オンプレミスの Spark / Hive 環境をクラウドに移行する際の移行先として、Dataproc が第1選択肢になります。

Dataprep、Cloud Data Fusion

DataprepCloud Data Fusion は、いずれもデータ抽出・変換パイプラインをノーコードで実装できるマネージドサービスです。GUI 上でワークフローを構築し、スケジュール実行できます。BigQuery などへのデータ挿入や、データ変換が可能です。ソースコードを書かずにデータパイプラインを実装したい場合のユースケースに適しています。

データ移行

オンプレミスからのデータ移行

データ移行というテーマも扱われます。オンプレミスから Google Cloud への大規模なデータ移行には、Transfer Appliance という選択肢があります。Transfer Appliance は物理的なストレージデバイスです。Transfer Appliance にデータを転送して、Google に返送すれば、Google Cloud の Cloud Storage に速やかにデータを移行することができます。どのようなシチュエーションやどのくらいの規模のデータにこのサービスが適しているのかは頭の片隅に入れておきます。

また gcloud storage rsyncgsutil rsync)コマンドを使って手作業で Cloud Storage にデータ移行を行うこともありますし、Storage Transfer Service を使えば Cloud Storage へのデータ移行をジョブ化・自動化できます。

BigQuery Data Transfer ServiceStorage Transfer Service の違いには注意してください。前者は外部から BigQuery へデータを転送する仕組みであり、後者は Cloud Storage へデータを転送する仕組みです。

データベース間のデータ移行

Datastream は、フルマネージドのデータ転送サービスです。データソースとして MySQL、PostgreSQL、Oracle などの RDBMS に対応しており、宛先としては BigQuery、Cloud Storage に対応しています。CDC(Change data capture)により、データの更新をリアルタイムにキャッチしてデータ転送を行うことができます。

Datastream を使い、オンプレミスのデータベースから専用線経由で BigQuery にデータを転送することもできます。データソースは Compute Engine VM でもよく、例えば VM にインストールされている Oracle Database から CDC でリアルタイムに BigQuery にデータを転送することが可能です。

機械学習(AI/ML)

当試験では、機械学習系の出題もあります。また Google Cloud 特有の知識というよりも、機械学習の一般的な用語や基礎知識について、ある程度の理解が必要です。

ラベリング、トレーニング、モデル、推論、回帰、分類(Classification)、クラスタリング、リコメンデーション、教師あり学習、教師なし学習、混同行列、過学習とのその対策、など基礎的な用語を押さえます。これらの用語の意味がわからない場合は、Web 検索や Gemini を活用して、浅くでもいいので理解しておきましょう。

また BigQuery ML も出題範囲です。使い方やある程度の仕組みは理解している必要があります。

オペレーションスイート

基本

Cloud Monitoring の基本機能をしっかり理解しておきましょう。

blog.g-gen.co.jp

「Google の指標」のリファレンスページで、Compute Engine や Pub/Sub、Cloud Storage など、データエンジニアリングにおいて重要なサービス群のメトリクスは、簡単でいいので眺めておくことが望ましいです。

注目すべきメトリクス

「Pub/Sub からデータを読み取って、Cloud Storage にデータを書き込むデータパイプライン」があるとして、これを Cloud Monitoring で監視するときにどうするか、などのシチュエーションを想像してください。

Pub/Sub のメトリクスのうち subscription/num_undelivered_messages が上昇していると「処理の遅延等が起きている」とみなせるはずです。

また BigQuery には slots/allocated_for_project といったメトリクスがあります。プロジェクトごとに割り当てられたスロット数が確認できるため、複数の部署で BigQuery を使っているときにどの部署がスロットを多く消費しているのか、などが確認できます。

その他

受験環境

当社メンバーの受験環境に関する実体験が以下の記事で紹介されています。ぜひご参照ください。

blog.g-gen.co.jp

blog.g-gen.co.jp

杉村 勇馬 (記事一覧)

執行役員 CTO

元警察官という経歴を持つ IT エンジニア。クラウド管理・運用やネットワークに知見。AWS 認定資格および Google Cloud 認定資格はすべて取得。X(旧 Twitter)では Google Cloud や Google Workspace のアップデート情報をつぶやいています。