Google Cloud Platform(GCP)のProfessional Data Engineer(PDE)試験では、Pub/Subというシステムの理解が求められます。Pub/Subは、イベントが起こった時に情報を即座に他のシステムへ伝えるために使われるGCPのサービスです。
Pub/Subの「Pub」は「Publish(発行)」の略で、「Sub」は「Subscribe(購読)」の略です。つまり、情報を出す側と受け取る側の仕組みです。
Pub/Subの基本的な構造
- トピック(Topics):情報を発信する場所です。例えば、「新しい注文があった」という情報を出すためのトピックを作ります。
- パブリッシャー(Publishers):情報をトピックに送る側です。注文システムが新しい注文をトピックに送信します。
- サブスクリプション(Subscriptions):トピックから情報を受け取るための入り口です。Pub/Subのサブスクリプションを通じて情報が流れます。
- サブスクライバー(Subscribers):情報を受け取る側です。注文情報を受け取って何か処理をするシステムがサブスクライバーになります。
Pub/Subのアーキテクチャの特徴
- スケーラビリティ:大量の情報を同時に処理できるようにシステムが自動で拡張します。
- 高可用性と耐障害性:情報が複数の場所にコピーされるため、一部に障害があっても情報のやり取りが止まりにくいです。
- リアルタイム性:情報がほぼ遅延なく伝わります。
- フレキシブルな配信モデル:情報を受け取る側がアクティブに取りに行く「Pull型」も、情報を送る側が自動で送りつける「Push型」も選べます。
- 信頼性と持続性:送った情報は一定期間保持され、もし受け取る側がその時受け取れなかった場合でも後で受け取れます。
- セキュリティ:誰が情報を送受信できるかを細かく設定できます。
【練習問題】Pub/Subのアーキテクチャ
練習問題1: Pub/Subのトピック
- 問題
GCPのPub/Subでトピックが持つ役割とは何ですか? - A. メッセージを一時的に保存する場所
B. メッセージを送信するエンティティ
C. メッセージの発行先として機能する名前付きのチャネル
D. メッセージの購読者に通知を送るサービス - 解答
C. メッセージの発行先として機能する名前付きのチャネル - 解説
Pub/Subのトピックは、メッセージの発行先として機能する名前付きのチャネルです。パブリッシャーはPub/Subのトピックにメッセージを発行し、サブスクライバーはトピックに紐づくサブスクリプションを通じてメッセージを受け取ります。
練習問題2: メッセージの配信モデル
- 問題
Pub/Subでサポートされている2種類のメッセージ配信モデルとは何ですか? - A. Pull型とPush型
B. Sync型とAsync型
C. Direct型とIndirect型
D. Static型とDynamic型 - 解答
A. Pull型とPush型 - 解説
Pub/Subでは、Pull型とPush型の配信モデルがサポートされています。Pull型ではサブスクライバーがアクティブにメッセージを取得し、Push型ではメッセージがサブスクライバーに自動的に配信されます。
練習問題3: Pub/Subの耐障害性
- 問題
Pub/Subが高い耐障害性を持つ理由は何ですか? - A. 単一地域にのみデータを保存するため
B. メッセージが自動的に削除されるため
C. マルチゾーンレプリケーションによる
D. 全てのメッセージがエンドユーザーに直接送信されるため - 解答
C. マルチゾーンレプリケーションによる - 解説
Pub/Subの耐障害性は、マルチゾーンレプリケーションによって提供されます。Pub/Subの耐障害性は、メッセージが複数の地理的な場所にコピーされることで、一部に障害が発生してもシステム全体が停止することなくメッセージのやりとりが継続されることを意味します。Pub/Subの耐障害性により、情報の損失を防ぎ、高可用性を保証します。
まとめ
Google CloudのPub/Subシステムを使うことで、リアルタイムでのデータ処理や、さまざまなシステム間の情報連携がスムーズになります。特に、異なる国や地域で運用されるシステム間での情報共有に役立ちます。
Google CloudのPDE試験では、このようなPub/Subの機能や、それを使ったシステム設計の知識が問われるでしょう。
IT起業家
▼AIを使った副業・起業アイデアを紹介♪