メインコンテンツまでスキップ

Google Cloud Professional Cloud Database Engineer

当サイトがお役に立ちましたら、ご支援の程お願い致します

🌸 合格:2025年03月07日

合格メモ

感想:

  • 問題数:50問
  • 100/120 程度で1周完了→ 15分程度で見直し完了し終了
  • 予想得点率は75%~85%

初めての英語の試験であったが、集中力が日本語試験よりも発揮できたことでなんとかなった。時間も、問題をなんとか理解できたことや、短文の問題も半分くらいあったためなんとかなった。 英語の単語がわからない関係で解けない問題は多分1,2問 くらいだったと想像する。 見たことのある問題が多数あった。また、出題傾向もUdemyの問題集の範囲から逸脱している問題はなかったので、狭い範囲の問題を使い回している可能性が高いことを想像できた。

出題傾向:

  • Spanner
  • Cloud SQL
  • Datastream / Dataproc
  • 可用性やパフォーマンスチューニングに関する問題
  • 認証認可
  • CMEK

試験概要:

受験情報 2025年3月7日

  • 試験名: Google Cloud Professional Cloud Database Engineer
  • 形式: オフライン試験
  • 会場: 吉谷ビル7階
  • 日付: 2025年03月07日
  • 時刻: 15:00 (JST)

🔥受験に向けた戦略🔥

学習戦略

苦手項目

リードレプリカ Cloud SQL

リードレプリカを使用して Cloud SQL インスタンスから作業をオフロードします。リードレプリカとは、プライマリ インスタンスの正確なコピーです。プライマリ インスタンスのデータやその他の変更は、リードレプリカでほぼリアルタイムで更新されます。 リードレプリカは読み取り専用です。書き込みはできません。リードレプリカは、クエリ、読み取りリクエスト、アナリティクス トラフィックを処理し、プライマリ インスタンスの負荷を低減します。

クエリタグでフィルタリングする cloud SQL

アプリケーションのトラブルシューティングを行うには、最初に SQL クエリにタグを追加する必要があります。

データベースの保護:Terraform on Google Cloud

データベースなどのステートフル リソースの場合は、削除保護(deletion_protection)が有効になっていることを確認します。次に例を示します。

Cloud SQL インスタンスの Recommender

オーバープロビジョニングされた Cloud SQL インスタンスの Recommender は、30 日以上経過したプライマリ インスタンスの使用状況の指標を分析します。この Recommender は、インスタンスごとに過去 30 日間の特定の指標値に基づいて CPU とメモリの使用率を分析します。Recommender はリードレプリカを分析しません。

MongoDB Atlas とは?

MongoDB Atlas は、MongoDB の構築に従事する人々が手掛けるマルチクラウド データベース サービスです。データベースの配置と管理を簡素化し、選択したクラウドプロバイダーで堅牢で高性能なグローバルアプリケーションを構築するために必要な柔軟性を提供します。

現在(進行中/実行中)のオペレーションのステータスを確認(Cloud SQL)

Google Cloud コンソールでは、オペレーションの完了時に成功または失敗のみが表示されます。警告やその他の情報を表示するように設計されていません。 特定の Cloud SQL インスタンスのすべてのオペレーションを確認するには、gcloud sql operations list コマンドを実行します。

Database Migration Service(移行元の必要な設定)

移行元インスタンスに pglogical パッケージをインストールし、 shared_preload_libraries 変数に含まれていることを確認します

デフォルトのリーダー リージョンを構成する:Spanner

データベースのデフォルト リーダー リージョンの場所を変更して、接続するクライアントに近づけることでアプリケーションのレイテンシを短縮

Spanner から Avro にデータベースをエクスポートする

エクスポート プロセスでは、Dataflow を使用して、Cloud Storage バケット内のフォルダにデータを書き込みます。処理後のフォルダには、一連の Avro ファイルと JSON マニフェスト ファイルが格納されます。

ストレージの自動増量(automatic-storage-increase)を有効にする(Cloud SQL)

この設定を有効にすると、Cloud SQL によって利用可能なストレージが 30 秒ごとにチェックされます。利用可能なストレージがしきい値サイズを下回ると、自動的にストレージ容量が追加されます。利用可能なストレージがしきい値サイズを繰り返し下回る場合、最大 64 TB に達するまで続けてストレージが追加されます。

Firestore の概要

Firestore は、Firebase と Google Cloud からのモバイル、ウェブ、サーバー開発に対応した、柔軟でスケーラブルなデータベースです。 リアルタイム リスナーを介してクライアント アプリ間でデータを同期し、モバイルとウェブのオフライン サポートを提供します。これにより、ネットワーク レイテンシやインターネット接続に関係なく機能するレスポンシブ アプリを構築できます。

Google Cloud に移行する: 大規模なデータセットを転送する

データ転送の時間やメジャーパターンなど時間があれば一読すべきまとめ記事

高可用性について (SQL:手軽/最適な可用性)

HA 構成では、データの冗長性が確保されます。HA 向けに構成された Cloud SQL インスタンスはリージョン インスタンスとも呼ばれ、構成されたリージョン内にプライマリ ゾーンとセカンダリ ゾーンがあります。*リージョン インスタンスはプライマリ インスタンスとスタンバイ インスタンスで構成されます。各ゾーンの永続ディスクへの同期レプリケーションにより、トランザクションが commit されたとしてレポートされる前に、プライマリ インスタンスへの書き込みのすべてが両方のゾーンのディスクに複製されます。インスタンスまたはゾーンに障害が発生した場合、スタンバイ インスタンスが新しいプライマリ インスタンスになります。ユーザーは新しいプライマリに再転送されます。このプロセスは、フェイルオーバーと呼ばれます。

エクスポートのパフォーマンスへの影響を最小限に抑える(Cloud SQL)

  1. リードレプリカからエクスポートを取得します。エクスポートを頻繁に(毎日またはそれ以上の頻度で)行う場合、エクスポートされるデータ量が少なければ、これが適切な選択肢になります。
  2. サーバーレス エクスポート(Cloud SQL ServerLessエクスポート)を使用します。大規模なデータベースの 1 回限りのエクスポートを作成する場合は、これが適切な選択肢になります。

Google Cloud VMware Engine

Google Cloud VMware Engine は、 Google Cloudで VMware プラットフォームを運用できるフルマネージド サービスです。VMware Engine では、クラウド消費モデルのメリットを享受し総所有コストを低減できるように、VMware 運用の継続性を実現します。

デフォルトのメンテナンスの時間枠Default maintenance windows(Cloud SQL)

インスタンスのトラフィック処理量が最も少ない時間帯(日曜日の深夜 0 時頃)にメンテナンスを行いたいと考えています。また、年末商戦の繁忙期はメンテナンスを避ける必要があります。この場合、本番環境のインスタンスのメンテナンスを次のように設定 → Cloud SQLでのメンテナンス時間の設定が可能

CMEKとCSEK

顧客管理鍵(CMEK)による暗号化は、ユーザがCloud KMSを使用して鍵を管理します。
顧客提供鍵(CSEK)による暗号化は、ユーザ自身が鍵を作成し管理します。

  • CMEK: Customer-Managed Encryption Keys
  • CSEK: Customer-Supplied Encryption Keys

Query Insights :Cloud SQL

Query Insights では、Cloud SQL データベースに対するクエリ パフォーマンスの問題を検出、診断、防止できます。直感的なモニタリングをサポートし、検出するだけでなくパフォーマンスの問題の根本原因の特定に役立つ診断情報を提供します。

Spanner : LIKE 非推奨

Spanner はパラメータ化された LIKE パターンを実行時まで評価しないので、すべての行を読み取って LIKE 式で評価し、一致しない行を除外しなければなりません。 LIKE パターンの形式が foo%(たとえば、固定文字列で始まり、単一のワイルドカード パーセントで終わる)で、列にインデックスが付けられている場合、LIKE の代わりに STARTS_WITH を使用します。このオプションを使用すると、Spanner はクエリ実行プランをより効果的に最適化できます。

並列レプリケーションを構成する:Cloud SQL

レプリケーション ラグは、リードレプリカの更新がプライマリ インスタンスの更新よりも遅れた場合に発生します。このセクションでは、ユーザーが並列レプリケーションを有効にして、レプリケーション ラグを減らす

高可用性を有効または無効にする (Cloud SQL)

インスタンスの高可用性は、インスタンスを作成するときに構成することも、既存のインスタンスで有効にすることもできます。gcloud sql instances patch INSTANCE_NAME \ ...

SSD ストレージと HDD ストレージを切り替える:Cloud SQL

Cloud SQL インスタンスを作成した後は、そのインスタンスでの SSD ストレージまたは HDD ストレージの選択は変更できません。 既存の HDD インスタンスを SSD に(またはその逆に)変更する必要がある場合には、既存のインスタンスからデータをエクスポートし、新規インスタンスにデータをインポートします。インスタンス全体の移行には時間がかかります。

HDD ストレージのユースケース:Cloud SQL

10 TB 以上のデータを保存する予定である。 ※ 大量のデータを保存しない限り、HDD によるコスト削減はごくわずかです。10 TB 以上のデータを保存する場合以外は、HDD ストレージの使用を検討する必要はありません。

Rotate server CA certificates:Cloud SQL

  • 新しいサーバーを作成します。
  • 新しいサーバーCA証明書情報をダウンロードします。
  • クライアントを更新して、新しいサーバーCA証明書情報を使用します。
  • アクティブな証明書を移動する回転を完了します 「前の」スロットは、新しく追加された証明書を アクティブな証明書。

How to Achieve PostgreSQL High Availability with pgBouncer : PostgreSQL

データベース接続のプーリングにPGBouncerを使用することは、クラウドSQLプライマリと読み取りレプリカインスタンスの間にアプリケーション負荷を均等に配布し、データベースのパフォーマンスとリソースの利用を最適化するための適切な選択です

マルチリージョン構成のパフォーマンスに関するベスト プラクティス:Spanner

最適な書き込みレイテンシを実現するには、書き込みの多いワークロードのコンピューティング リソースをデフォルトのリーダー リージョン内またはその近くに配置します。

Spanner から Avro にデータベースをエクスポートする

REST API または Google Cloud CLI を使用して Spanner データベースをエクスポートするには、このページのはじめにの手順を完了し、Dataflow ドキュメントの Spanner to Cloud Storage Avro の詳細な手順を参照してください。エクスポート プロセスでは、Dataflow を使用して、Cloud Storage バケット内のフォルダにデータを書き込みます。処理後のフォルダには、一連の Avro ファイルと JSON マニフェスト ファイルが格納されます。

パフォーマンスオーバーヘッドなしで Cloud SQL からデータをエクスポート

 Cloud SQL : Serverless Exportsの新しい機能を起動しました。 ServerLessエクスポートを使用すると、PerformanceまたはRisksのリスクに影響を与えずに、MySQLおよびPostgreSQLデータベースインスタンスからデータをエクスポートできます。

ファイル システムとパーティションのサイズを変更する:GCE

非ブート データディスク上のファイル システムのサイズを変更します。 ext4 を使用している場合は、resize2fs コマンドを使用してファイル システムを拡張します。 sudo resize2fs /dev/DEVICE_NAME

自動フェイルオーバー:Bigtable

アプリのプロファイルで複数クラスタ ルーティングを使用している場合、 Bigtable は自動的にフェイルオーバーを処理します。最も近いクラスタがリクエストを処理できない場合、Bigtable は対応可能な最も近いクラスタにトラフィックをルーティングします。

移行元インスタンスを構成する|Database Migration Service  > PostgreSQL

移行元インスタンスに pglogical パッケージをインストールし、 shared_preload_libraries 変数に含まれていることを確認します。 環境の移行元インスタンスに pglogical パッケージをインストールするをご覧ください。

メンテナンスの影響を最小限に抑える:Cloud SQL

接続の切断による影響を最小限に抑えるには、接続プールを使用します。プーラーとデータベースの間の接続はメンテナンス中に切断されますが、アプリケーションとプーラーの間の接続は保持されます。これにより、接続の再確立がアプリケーションに対して透過的になり、接続プーラーにオフロードされます。 長時間実行トランザクションの数を制限することで、トランザクションの失敗を減らすことができます。クエリを小さくして、より効率的に書き換えることで、メンテナンスのダウンタイムが短縮されるだけでなく、データベースのパフォーマンスと信頼性も向上します。

接続の切断やトランザクション エラーから効率的に復旧するには、効率的にデータベース接続を管理します。指数バックオフを使用して、アプリケーションと接続プーラーに接続とクエリの再試行ロジックを構築できます。クエリが失敗した場合、または接続が切断された場合、システムは再試行の前に待機期間を設定します。待機時間は、後続の再試行ごとに増加します。たとえば、最初の再試行ではシステムは数秒しか待機しませんが、4 回目の再試行では最大で 1 分間待機する場合があります。このパターンに従うことで、サービスに過大な負荷をかけることなく、これらの問題を確実に修正できます。

スキーマ更新のパフォーマンス:Cloud Spanner

Spanner のスキーマの更新には、ダウンタイムは必要ありません。DDL 文のバッチを Spanner データベースに対して発行した場合、Spanner が更新を長時間実行オペレーションとして適用する間も、中断なくデータベースでの書き込みと読み取りを続けることができます。

クロスリージョン レプリカ:Cloud SQL|データ移行

クロスリージョン レプリカを使用すると、最小限のダウンタイムでデータベースを別のリージョンに移行できます。通常は、別のリージョンにレプリカを作成し、レプリケーションが完了したらレプリカを昇格させ、新しく昇格したインスタンスにクライアントをリダイレクトします。

ベアメタル向け Google Distributed Cloud(GDC for bare metal )

Anthos clusters on bare metal は、ベアメタル向け Google Distributed Cloud(ソフトウェアのみ)になりました。詳細については、プロダクトの概要をご覧ください。

Google Distributed Cloud は、Google Cloud のインフラストラクチャとサービスをお客様のデータセンター(オンプレ)に拡張する Google のソリューションです。Google Distributed Cloud は、Google 提供のハードウェア上で動作する接続された構成とエアギャップのある構成の両方で使用できます。

外部サーバーにデータを移行する|Cloud SQL データ移行

データのプライマリ コピーを Cloud SQL から外部サーバーに最小限のダウンタイムで移行するには、外部サーバーを外部レプリカとしてセットアップしてから、その外部サーバーのレプリカになるように Cloud SQL インスタンスを降格します。

ポイントインタイム リカバリ(PITR)を使用する |Cloud SQL

Cloud SQL は PITR にバイナリログを使用します。 2023 年 8 月 11 日、Google は、PITR のトランザクション ログの Cloud Storage への保存を開始しました。今回のリリース以降、次の条件が適用されます。

Cloud Spanner ノード数 ノード数の変更設定

編集画面からノード数の変更するだけで設定変更完了 ダウンタイムなしで変更可能

exactly-once ストリーミング|Dataflow|トランザクション的処理

非確定的な処理を効果的に確定的な処理にするには、チェックポインティングを使用します。チェックポインティングを使用すると、変換からの各出力は、次のステージに配信される前に、一意の ID を持つ安定したストレージにチェックポイントが設定されます。Dataflow のシャッフル配信の再試行は、チェックポイントされた出力をリレーします。コードが複数回実行される場合でも、Dataflow は、それらの実行のうちの 1 つだけの出力が保存されるようにします。Dataflow は整合性ストアを使用して、安定したストレージへの書き込みが重複しないようにします。

デュアルリージョン クォーラムの可用性|Cloud Spanner

デュアルリージョン クォーラムの可用性(instance/dual_region_quorum_availability)は、デュアルリージョン インスタンス構成でのみ使用できます。デュアルリージョン クォーラムと各リージョンの単一リージョン クォーラムの 3 つのクォーラムの健全性のタイムラインが表示されます。 グラフには、クォーラムの可用性プルダウンがあり、正常モードまたは中断モードのリージョンを確認できます。このグラフをエラー率とレイテンシの指標とともに使用すると、リージョン障害が発生した場合に、セルフマネージド フェイルオーバーのタイミングを決定できます

Google Kubernetes Engine から Cloud SQL に接続する|GKE / Cloud SQL

Cloud SQL Auth Proxy は、sidecar パターンで(Pod をアプリケーションと共有する追加のコンテナとして)動作させることをおすすめします。次のいくつかの理由から、これを個別のサービスとして実行するよりも、この方法をおすすめします。

SQL トラフィックがローカルで公開されないようにします。Cloud SQL Auth Proxy は送信接続を暗号化しますが、受信接続の公開を制限する必要があります。

レプリケーション構成の例|Bigtable

このページでは、Bigtable レプリケーションの一般的なユースケースについて説明し、これらのユースケースをサポートするために使用できる設定を紹介します。

Cloud SQLにおけるHTTPステータスエラー一覧

HTTP ステータスエラー番号エラーメッセージ場面/原因
400Bad Requestリクエストの形式が不正(例: 必要なパラメータ不足、無効な値)
401Unauthorized認証情報無効、アクセス権限が不足している場合
403Forbiddenアクセス権限がない、IAM設定によりアクセス拒否される場合
404Not Found指定したリソースが存在しない場合(例: 不正なリソースID)
409Conflictリソースの競合、インスタンス作成時の競合など
429Too Many RequestsAPIリクエストが制限を超えた場合(リクエスト過多)
500Internal Server Errorサーバ側で予期しないエラーが発生した場合
502Bad Gatewayゲートウェイまたはプロキシでエラーが発生した場合
503Service Unavailableサービス停止中やメンテナンス中、サーバが一時的に使用不可
504Gateway Timeoutリクエストがタイムアウトした場合(例: 長時間待機後にタイムアウト)

受験当日のTODO(PSE / PNE / PDE / PCA 受験時の成功事例) ⭐️

ヒント

前日

  • しっかり寝る
    • アイマスク、耳栓、枕のセッティング

当日

  • 9時までに起きる(疲労が回復していることが重要)

  • カフェで試験前の確認を実施

    • 気分的にドトール大通り店
      • 公式模試 の間違った問題を復習
      • 苦手項目の復習
      • 問題集で間違った問題の復習
      • その他、重要記事を読書
  • 14:00 にカフェを出る

  • 受験メールを印刷する

    • アプリにメールを転送
  • 会場到着前に仮眠を10分程度取り、十分に脳をリフレッシュさせる

    • 糖分も十分にとる
  • 15時00分(テスト開始の30分前)には会場に到着して受付を完了させる

    • 選択肢から読むことを意識する
    • 見直しの時間を確保するよう意識する
当サイトがお役に立ちましたら、ご支援の程お願い致します