2024年版【GCP資格の勉強 PDE編】Pub/Subの概要と特徴とは?について解説します。
(★注意:GCP資格 Professional Data Engineer(PDE)試験の公式テキスト・問題集などを元に独自にまとめたものです)
Google Cloud Platform(GCP)のProfessional Data Engineer(PDE)試験において、Pub/Subに関する知識は重要です。
Pub/Subは、情報を即座に他の場所へ伝えるGCPのサービスで、大量のデータをリアルタイムでやり取りできます。
Pub/Subは、GCPのメッセージキューイングサービスで、非同期のメッセージングを可能にする重要なコンポーネントです。
以下に、Pub/Subの特徴と機能について説明します。
Pub/Subのトピックとサブスクリプション
- トピック(Topics): メッセージを受信する名前付きリソースです。
パブリッシャー(発信者)はトピックにメッセージを送信します。 - サブスクリプション(Subscriptions): メッセージを配信するための名前付きリソースです。
サブスクライバー(受信者)はサブスクリプションを通じてメッセージを受信します。
トピックとサブスクリプションは1対1に対応することも、1つのトピックに複数のサブスクリプションが存在することもあります。
Pub/Subのメッセージの種類
- Pull型: サブスクライバーが任意のタイミングでメッセージを取得する方式です。
アクティブにメッセージをポーリングする必要があります。 - Push型: Pub/Subが指定されたエンドポイントに対して自動的にメッセージを配信する方式です。
サービスによる自動配信が行われます。
Pub/Subのメッセージ送信の確実性
- Ack通信の再送: 一定時間Ack(受信確認)がなければ、Pub/Subはメッセージを再送します。
- At-least-once配信: 最低1回の配信を保証します。ただし、重複してメッセージが配信されることもあります。
Dataflowの重複排除(Deduplication)機能と組み合わせることで、Exactly-Once配信を実現できます。 - 配信順序: デフォルトではメッセージの順序性は保証されません。
順序性を有効にするオプションがありますが、スケーラビリティや可用性とのトレードオフが生じます。
Pub/Subのメッセージ複製と保護
- メッセージ複製: Pub/Subにキューされたメッセージは複数のディスクに複製され、Ackされるまで永続化されます。
- グローバルデータアクセス: グローバルエンドポイントを使用すると、メッセージは利用可能な最も近いリージョンに保管されます。
- リージョン制限: データ保護のため、特定のリージョンでのみデータを保管できます。
Pub/Subのサイジング管理
- クライアント側のシャードパーティション管理不要: ユーザーはシャードやパーティションの管理をする必要がなく、自動でスケールします。
- ユーザー側でのスケール管理不要: Google Cloud側で動的にスケールアウトするため、ユーザーはスループットなどを事前にプロビジョニングすることなく、スケーラブルに運用できます。
【練習問題】Pub/Subの概要と特徴
練習問題1: Pub/Subのトピックとサブスクリプション
- 問題
Pub/Subのトピックとサブスクリプションの関係はどのように表現されますか? - A. 1つのトピックは1つのサブスクリプションにのみ関連づけられます。
B. 1つのトピックに複数のサブスクリプションが存在することがあります。
C. トピックとサブスクリプションは独立して存在し、関連性はありません。
D. トピックはサブスクリプションによってのみ作成されます。 - 解答
B. 1つのトピックに複数のサブスクリプションが存在することがあります。 - 解説
Pub/Subでは、1つのトピックに対して複数のサブスクリプションを作成できます。同じメッセージを異なる処理や目的で使用できます。
練習問題2: Pub/Subの配信モデル
- 問題
Pub/Subにおける2つの主要なメッセージ配信モデルは何ですか? - A. Pull型とPush型
B. Synchronous型とAsynchronous型
C. Active型とPassive型
D. Sequential型とParallel型 - 解答
A. Pull型とPush型 - 解説
Pub/Subでは、Pull型配信とPush型配信の2つのメッセージ配信モデルがあります。Pull型ではサブスクライバーがアクティブにメッセージを取得し、Push型ではメッセージがサブスクライバーに自動的に配信されます。
練習問題3: Pub/Subのメッセージ送信の確実性
- 問題
Pub/Subのメッセージ送信において、Ack(確認応答)がなかった場合の処理は何ですか? - A. メッセージは自動的に削除されます。
B. メッセージは一定時間後に再送されます。
C. メッセージはサブスクライバーに自動的に配信されません。
D. メッセージはトピックに戻され、再配信待ちになります。 - 解答
B. メッセージは一定時間後に再送されます。 - 解説
Pub/Subでは、メッセージに対するAck(受信確認)が一定時間内になされない場合、システムはメッセージを再送します。メッセージの確実な配信が保証され、信頼性の高い通信が可能となります。
まとめ
Pub/Subは継続的に機能の更新と改善が行われており、特にパフォーマンス、可用性、セキュリティの面で進化しています。
PDE試験の準備にあたっては、Pub/Subの最新情報を把握し、Pub/Subの機能とベストプラクティスに精通することが重要です。
また、公式ドキュメントや最新のリリースノートを定期的に確認することをお勧めします。
IT起業家
▼AIを使った副業・起業アイデアを紹介♪