この記事はなに?
- Google Cloud認定資格のProfessional Data Engineerの勉強内容をまとめたものです。
- 一部、筆者の理解不足により誤った内容が書かれている可能性があります。
- 参考にしていただく際は必ず公式リファレンスも併せてご参照ください。
- また、
この内容を覚えれば資格に合格できる
と保証されたものではないことをご了承ください。
Storage Transfer Service
特徴
- オンプレミスからGCPへのデータ転送や、AWSからGCPへのデータ転送を行うことができる。
- 転送先はGCSのバケット。
- GCSのバケットから、他のバケットへの転送も可能。
- 転送するデータ量が10TB未満の場合、gsutilコマンドによる転送が推奨される。
- 1回限りの転送もできれば、スケジューリングによる定期実行も可能。
Transfer Appliance
特徴
- Transfer Appliance自体は、大容量のストレージデバイスである。
- データをTrasfer Applianceにアップロードし、Googleアップロード施設に返送し、そこからGCSのバケットにアップロードされる。
- オンプレミスの大容量データ(10TB以上)を、1度に転送したい場合に使われる。
BigQuery Data Transfer Service
特徴
- 設計されたスケジュールに基づき、BigQueryへのデータの読み込みを行う。
- データソースとしては、GCSの他にGoogle広告やYoutubeといったGoogle製品、AWSのS3やRedshiftとも連携できる。
Cloud Pub/Sub
特徴
- 安全かつスケーラブルにデータをストリーミングできるメッセージキューサービス。
- メッセージを送信する
パブリッシャー
と、メッセージを受信するサブスクライバー
によってデータ転送を実現する。 - パブリッシャーは
トピック
にメッセージを送信し、トピックから紐づくサブスクリプション
にメッセージが渡され、サブスクライバーはサブスクリプションからメッセージを受信する。 - サブスクライバーはメッセージを受信したら、受信したことをCloud Pub/Subに返す。
- サブスクライバーからの確認が取れない限り、Cloud Pub/Subはメッセージを再送し続ける。
- トピックは、
最大31日間
メッセージを保持することができる。 - サブスクリプションは、
最大7日間
メッセージを保持することができる。
メッセージ
- 1つあたり10MBのサイズ上限がある。
- パブリッシャーは、メッセージを送信する際に
key-value形式
で属性を付与することができる。- サブスクライバーは、属性情報に沿ってメッセージの受信を制御することができる。
- サブスクライバーは、必ずしもパブリッシャーのメッセージ配信順にメッセージを受信するとは限らない。
- トピックにメッセージを送信する際に、順序指定キーを設定することで、同一キーのメッセージを受信する際に、配信順に受信することができる。
- 同一キーのメッセージを複数再配信する場合、最初の配信順に沿ってすべてのメッセージを受信する。
- Cloud Pub/Subは、
少なくとも1回
はサブスクリプションにメッセージを配信する。- ただし、保持期間を過ぎた場合は例外である。
デッドレタートピック
- サブスクライバーからのメッセージ確認応答がない場合、メッセージの再配信を行う。
- デフォルトではすぐに配信するが、
指数バックオフ
のポリシーを作成することで再送タイミングを制御することができる。
- デフォルトではすぐに配信するが、
- 応答のないメッセージを、デッドレタートピックに転送することができる。
- 転送されたメッセージは、Cloud Monitoringで監視できる。
Apache Kafkaからの移行
- PubSub Kafkaコネクタを使用する。
- 特定のメッセージを、Apache KafkaからCloud Pub/Subに転送することができる。
- 移行中及び移行後は、Cloud Monitoringで正常に移行できているかを観測する。