Professional Data Engineer 完全攻略ガイド:データエンジニアリング基礎編
はじめに
こんにちは、クラウドエース 第三開発部の松本です。
普段はデータ基盤や機械学習システムを構築したり、Google Cloud 認定トレーナーとしてトレーニングを提供しています。
この度、Google Cloud 認定 Professional Data Engineer 試験の完全攻略ガイドとして、試験対策の重要なポイントを、複数の記事にわたりご紹介していくことにいたしました!
今回は、その第一弾として、試験概要とデータエンジニアリングの基礎知識について解説します。
また、今後も以下の内容に関する記事を執筆予定ですので、ぜひご期待ください!
- データ取り込み編
- データストレージ編
- データパイプライン編
- データマネジメント編
- データ可視化と AI・機械学習編
尚、試験直前対策として以下の記事もございますので、ぜひ参考にしてみてください。
対象読者
- Professional Data Engineer 試験の概要を知りたい方
- 試験対策として、データエンジニアリングの基礎知識を体系的に学びたい方
- Professional Data Engineer 資格の学習を通して、データエンジニアとしての基礎知識を身につけたい方
Professional Data Engineer 資格とは?
Google Cloud 認定 Professional Data Engineer 資格は、Google Cloud におけるデータエンジニアリングの専門知識とスキルを証明する認定資格です。具体的には、データ処理システムの設計、構築、運用、管理、セキュリティに関する能力が評価されます。Professional Data Engineer 資格を取得することで、データエンジニアとしての専門性を客観的に証明でき、キャリアアップにつなげることができます。
試験概要
試験概要は以下の通りです。
- 試験時間: 2 時間(120 分)
- 受験料: $200(税別)
- 対応言語: 英語、日本語
- 試験形式: 50 ~ 60 問程度の多肢選択(複数選択)式
- 試験実施方法: オンラインまたはテストセンターで受験可能
- 資格有効期限: 2 年間
試験範囲
試験範囲として以下のような内容が問われます。
- データ処理システムの設計: ビジネス要件に基づき、データの流れ(インジェスト、処理、保存、分析)全体を考慮した最適なデータ処理アーキテクチャを設計できるか。
- データの収集と処理: 多様なデータソースから必要なデータを効率的に収集し、分析や活用に適した形式に変換・加工(変換、クレンジング、統合など)できるか。
- データの保存: 大容量データを安全性と効率性を確保しながら、データ特性とアクセスパターンに応じて適切なストレージシステムを選択し、管理できるか。
- 分析用データの準備と活用: 分析目的に合わせてデータを準備(前処理、集約、変換など)し、データ分析や機械学習などの高度なデータ活用に繋げられるか。
- データ処理の自動化と管理: データ処理パイプラインの構築と自動化、監視、運用を通して、データ処理システムを安定的に稼働させ、効率的なデータ運用を実現できるか。
詳細は以下の公式サイトをご参照ください。
試験範囲の Google Cloud プロダクト
試験で問われる可能性のある主な Google Cloud プロダクトは下図の通りです。試験対策として、これらのプロダクトを理解しておくと良いでしょう。また、本ガイドでもこれらプロダクトについて解説いたします。
Google Cloud プロダクト(データ系)
※現在、Cloud Data Loss Prevention は、Sensitive Data Protection の一部になっています。
学習方法
Google Cloud 試験の学習方法としては、以下のような方法が有効だと思いますので、ぜひ試してみてください!
- 本ガイドを試験直前まで読み込む
- 出題されるプロダクトの公式ドキュメントを読む
- 実際に Google Cloud プロダクトを触ってみる(90 日間無料トライアルあり)
- Coursera の公式トレーニングを受講する
- Google Cloud Skills Boost で学習する
- 模擬試験 を受けて復習する
また、弊社の Google Cloud 認定トレーニング の受講を通して、Google Cloud プロダクトの理解を深めることもできますので、もしご興味があればぜひ受講してみてください!
データエンジニアリングの基礎知識
ここからは、試験対策に必要なデータエンジニアリングの基礎知識を解説いたします。今後の記事でご紹介する Google Cloud プロダクトを理解するのに役立ちますので、ぜひ最後まで読んでみてください。
データエンジニアリングとは
データエンジニアリングとは、データ分析や意思決定を効果的に行うために必要なデータ分析基盤を構築し、管理する技術領域のことです。分析やビジネス上の意思決定に役立つよう、様々なデータソースからデータを収集し、利用しやすい形に変換・加工し、信頼性のある状態で提供します。
データ分析基盤とは
データ分析基盤の構成要素
データ分析基盤とは、企業や組織が保有する様々なデータを収集・蓄積・加工・分析し、ビジネス上の意思決定や課題解決に役立てるための基盤です。簡単に言うと、「データを活用するための土台」になります。データ分析基盤の構築は、以下の 4 つの主要なステップで構成されるので、理解しておきましょう。
- データ収集: 様々なデータソース(例:ドキュメント、音声、動画、EC サイトのトランザクションデータなど)からデータを集めます。この段階では、データの形式は様々で、構造化データ(テーブル形式など)、非構造化データ(テキスト、画像、動画など)、半構造化データ(JSON、XML など)などが混在しています。
- データ蓄積: 収集した生データをデータレイクに蓄積します。データレイクは、あらゆる種類のデータをそのままの形で格納できる、大規模なデータ格納場所です。
- データ加工: 分析しやすいように生データを整理・加工し、データウェアハウス(DWH)に格納します。また、データウェアハウスに格納されたデータを特定の分析目的に合わせて集計・加工し、データマートとして格納します。
- データ分析: 加工されたデータ(主にデータマート)を使って分析を行います。可視化ツールや機械学習プラットフォームなどを用いて、データの可視化や傾向分析、予測などを行います。
ETL と ELT
ETL と ELT
データ加工のアプローチには、ETL と ELT のプロセスが異なる 2 つの方法があります。これらは、抽出(Extract)、変換(Transform)、格納(Load)の処理順序に違いがあります。各アプローチの特徴と用途の違いについて、以下の内容を押さえておきましょう。
項目 | ETL(Extract, Transform, Load) | ELT(Extract, Load, Transform) |
---|---|---|
処理順序 | 抽出 → 変換 → 格納 | 抽出 → 格納 → 変換 |
特徴 | データウェアハウスへの格納「前」に変換する | データウェアハウスへの格納「後」に変換する |
主な用途 | データの品質向上やセキュリティ対策などのため、事前に変換処理(形式変換、クリーニング、不要データ削除など)したい場合。 | 大規模なデータセットを迅速に分析し、柔軟なデータ活用を実現したい場合。 |
バッチ処理とストリーミング処理
バッチ処理とストリーミング処理
データの処理方式についても理解しておきましょう。データの処理方式には、バッチ処理とストリーミング処理があり、処理するデータの性質や処理要件によって方式が異なります。処理方式の違いについて、以下の内容を押さえておきましょう。
項目 | バッチ処理 | ストリーミング処理 |
---|---|---|
データの性質 | 一定期間蓄積された静的なデータであり、あらかじめ処理するデータ量が分かる。 | 連続的に生成される動的なデータ(データ生成のタイミングや量が不確定)であり、あらかじめ処理するデータ量やデータが届くタイミングも分からない。 |
処理単位 | 一括して処理 | データが到着するたびに逐次処理 |
処理タイミング | 定期的な実行またはイベントトリガーによる実行 | リアルタイム |
処理時間 | ストリーミング処理に比べ、処理全体にかかる時間が長く、レイテンシが高い。 | 処理時間が短く、レイテンシが低い。 |
スケーラビリティ | データ量に合わせてリソースをスケールさせやすい。 | 高スループットと低レイテンシを両立させる必要がある。 |
適用例 | レポート作成(売上実績、顧客行動分析)、オフライン分析、データウェアハウスへのロード、機械学習モデルの学習など。 | IoT データ分析、異常検知、リアルタイム推薦システム、金融市場分析など。 |
データマネジメント
データマネジメントについても理解しておきましょう。
データマネジメントとは、組織のデータ資産を効果的に管理し、ビジネス価値を最大化する一連の活動です。データのライフサイクル全体を管理し、ガバナンスやセキュリティを確保することで、データの品質と信頼性を高め、意思決定の質を向上させます。
データ品質
データ品質の担保は、正確な意思決定を支えるために重要です。データ品質を維持・向上することで、エラーの発生を防ぎ、誤ったデータに基づく分析や手戻りを防ぐことができます。
データ品質を保つための指標として以下があります。
項目 | 説明 | 具体例 |
---|---|---|
完全性(データの網羅性) | データがどれだけ揃っているか、不足がないかを示す。欠損が多いと分析結果に偏りが生じる。 | 注文履歴に「商品名」「数量」「発送先」がすべて記録されているか。 |
一意性(データの重複排除) | データセット内で重複がないかを示す。同一の ID が複数存在すると集計ミスの原因になる。 | 顧客 ID が重複していないか、商品コードがユニークであるか。 |
有効性(データの妥当性) | データが形式やルールに合致しているかを示す。データ型や範囲などのチェックが含まれる。 | 生年月日が「YYYY/MM/DD」形式か、商品の「価格」が 0 円以上であるか。 |
適時性(データの鮮度) | データが最新であるか、適切なタイミングで取得されているかを示す。 | 在庫データが販売時にリアルタイムで更新されているか。最新の顧客情報が反映されているか。 |
正確性(データの正しさ) | データが信頼できる情報源に基づいて正しいかどうかを示す。同じ情報を複数のソースから取得できる場合などで注意が必要。 | 商品の価格データが販売システム、EC サイト、カタログに記載されているが、どれを信頼するか。 |
一貫性(データの整合性) | 異なるデータセット間で矛盾がないかを示す。 | 販売システムと会計システムで売上金額が一致しているか、出荷履歴と在庫数が整合しているか。 |
また、Google Cloud では Dataplex の自動データ品質やデータ品質タスクといったデータ品質チェック機能を活用することで、これら指標に基づくデータ品質の担保を実現できます。(詳細は、データマネジメント編で説明します。)
データセキュリティ
データセキュリティは、組織の重要な情報を不正アクセス、改ざん、破壊から保護するために不可欠です。データセキュリティを保つための重要な要素として以下があります。
- 機密性: データへのアクセスを許可されたユーザーのみに制限することを意味します。不正アクセスや情報漏洩を防ぎ、機密情報を保護することが目的です。アクセス制御、暗号化、マスキングなどの方法で対策します
- 完全性: データが正確で、改ざんや破壊されていない状態を維持することを意味します。データの信頼性を確保し、誤った情報に基づく判断を防ぐことが目的です。変更管理やバックアップ・復旧などの方法で対策します。
- 可用性: 必要な時に、許可されたユーザーがデータにアクセスできる状態を維持することを意味します。システム障害や災害時などでも、データを利用できるようにすることで、業務の継続性を確保することが目的です。システムの冗長化や負荷分散などによって対策します。
また、データの機密性を確保するため、下図のようにアクセス制限とマスキングを組み合わせて利用することが重要です。
機密性確保のためのアクセス制限とマスキング
アクセス制限によって、データへのアクセスを許可されたユーザーに限定することで、不正なアクセスを防ぎます。また、マスキングによって、個人情報などの重要な部分を別の文字に置き換えることで、情報漏洩を防ぎます
尚、Google Cloud では、アクセス制御のために IAM、VPS Service Control、BigQuery の承認済みビュー、行レベルまたは列レベルでのテーブルセキュリティといった機能を活用できます。また、個人情報の保護として、Sensitive Data Protection の Cloud Data Loss Prevention を活用できます。(詳細は、データマネジメント編で説明します。)
データカタログ
データカタログは、組織内に散在する様々なデータ資産を整理し、誰もが必要なデータを迅速に検索・活用できる仕組みです。データカタログは以下のような機能を持ちます。
- メタデータの管理: テーブル、カラム、データに対して説明(データの用途や意味)、作成日、最終更新日、所有者、データ型などを記録します。
- データの検索と探索: テーブル名やカラム名、データ型、タグなどを使って必要なデータを検索することができます。
- データのプロファイリング: データ分布やユニーク値の割合、NULL 値の件数などの統計情報を収集することができます。
- アクセス管理とセキュリティ: テーブルやカラム単位でアクセス権限が設定され、特定の部署やユーザーだけがデータを閲覧・編集できます。
- データの関係性と依存関係: データセット間のリレーションや参照関係を保持し、どのテーブルが他のテーブルを参照しているかが確認できます。
尚、Google Cloud では、Dataplex のデータカタログ機能を提供しています。(詳細は、データマネジメント編で説明します。)
データリネージ
出典: BigQuery テーブルデータのソースを示すグラフ
データリネージは、データがどのように変化してきたか、つまりデータの流れ(フロー)を追跡します。データの出所(ソース)から変換処理(ETL など)、最終的な利用先(レポートなど)までの経路を可視化することができます。
尚、Google Cloud では、Dataplex のデータリネージ機能を提供しています。(詳細は、データマネジメント編で説明します。)
データメッシュ
中央集権型 と 分散型(データメッシュ)
データメッシュは、大規模な組織におけるデータ管理の課題を解決するためのアプローチです。従来のデータ管理方法が中央集権的なデータレイクやデータウェアハウスに依存していたのに対し、データメッシュは分散型のアーキテクチャを採用し、ビジネスドメインや組織ごとにデータの所有権と責任を分散させることで、データのスケーラビリティやアクセシビリティ、そしてビジネスへの適合性を向上させることを目指す方法です。
中央集権型と分散型(データメッシュ)には以下のような違いがあります。
項目 | 中央集権型 | 分散型(データメッシュ) |
---|---|---|
管理方法 | 全データを一箇所に集約管理。 | 各ドメインがデータを所有・管理し、データプロダクトとして提供。 |
柔軟性、拡張性、迅速さ | 中央組織が各組織との調整が必要なことから、変更に時間がかかり、拡張性に限界がある。 | 各組織が自律して動くため、変更に迅速に対応でき、高い拡張性を持つ。 |
アーキテクチャの複雑さ | 一元化されたアーキテクチャでありシンプル。 | 各組織間でのデータ連携が必要になるため複雑化しやすい。 |
ガバナンス | 一元化されたデータリポジトリと中央組織のため、統制の難易度が低い。 | 分散化されたデータリポジトリと各組織でのデータ管理であるため、統制の難易度が高い。 |
ユースケース | 小規模な組織、データ量が少ない場合など | 大規模な組織、複数の事業部門を持つ組織 |
データメッシュにおけるデータプロダクトとは
データメッシュにおいて各ドメインが提供するのは単なる「データ」ではなく、「データプロダクト」です。データプロダクトは、以下のような要素を含むデータ提供物になります。
- データ自体: 生データ、集計データ、変換後のデータなど、利用可能なデータ。
- メタデータ: データの意味、定義、出所、品質情報などを記述したデータ。
- ドキュメント: データの利用方法、スキーマ、制約事項などを記述した文書。
- アクセス方法: API、データ共有サービス、クエリインターフェースなど、データにアクセスするための方法。
- データ品質保証: データの品質を保証するためのプロセスや指標。
尚、Google Cloud では、Dataplex を活用してデータメッシュを構築することができます。(詳細は、データマネジメント編で説明します。)
まとめ
今回は、Professional Data Engineer 試験の合格を目指す方に向けて、 試験概要とデータエンジニアリングの基礎知識について解説いたしました。特に、データの品質やセキュリティなどのデータマネジメントに関する内容も少し詳しく解説しました。これらの知識は、単に試験に合格するためだけでなく、実際の業務で質の高いデータ基盤を構築するために必要なので、ぜひ覚えておきましょう!
今後の記事では、今回解説した基礎知識をベースに、Google Cloud の各プロダクトと試験対策について解説していく予定ですので、ぜひご期待ください!
Discussion