Google Professional Cloud Database Engineer 1-10

表示モード
画像位置
文字位置
STATUS FILTER

表示する理解度を選択

読み込み中...
Q1Google Professional Cloud Database Engineer

A. Firestoreを使用する。
B. Bigtableを使用する。
C. BigQueryを使用する。
D. Cloud Spannerを使用する。

回答
B

Bigtableは、取引履歴・株価・為替レートといった金融データや時系列データの保存に最適なワイドカラム型データベースです。
SSD構成のBigtableは毎秒最大1万行の読み書きと最大220MB/秒のスキャンに対応し、サブ秒レイテンシで数百TBまでスケールできるため、本要件にすべて合致します。
Firestoreやスパナーはトランザクション向けで時系列スキャンのスループット要件に劣り、BigQueryは分析向けで低レイテンシのオンライン読み取りには不向きです。

Bigtable の概要(Google Cloud 公式ドキュメント)

Q2Google Professional Cloud Database Engineer

A. Cloud Spannerをリージョナル構成で使用する。
B. Cloud Spannerをマルチリージョン構成で使用する。
C. Cloud SQLをクロスリージョンレプリカ付きで使用する。
D. 複数ゾーンを使用した高可用性Cloud SQLを使用する。

回答
A

Cloud Spannerはスキーマ変更やメンテナンスをダウンタイムなしで実施できるため、24時間365日稼働の要件を満たします。
パイロット段階では1リージョンで十分なので、まずはコスト効率の高いリージョナル構成で開始するのが適切です。
Spannerはインスタンスの移動機能により、後からダウンタイムなしでマルチリージョン構成へ拡張できるため、将来のグローバル展開にも対応できます。

Spanner インスタンスの移動(Google Cloud 公式ドキュメント)

Q3Google Professional Cloud Database Engineer

A. 単一クラスターのBigtableインスタンスを実装し、オートスケーリングと行キー設計を有効にする。
B. マルチクラスターのBigtableインスタンスを実装し、オートスケーリングと最適なスキーマ設計を有効にする。
C. 複数リージョンにまたがるマルチクラスターのBigtableインスタンスをレプリケーション付きで実装する。
D. AlloyDB for PostgreSQLを実装し、リードレプリカを使用して分析ワークロードを処理する。

回答
C

複数リージョンにまたがるマルチクラスターのBigtableインスタンスは、フルマネージドのレプリケーションとマルチクラスタールーティングを提供し、グローバルかつ24時間365日の可用性を実現します。
リージョンをまたぐレプリケーションがミッションクリティカルな高可用性を担保し、オートスケーリングと時系列最適化スキーマがトラフィック急増への対応を支えるため、バージョン管理データ・スケーラビリティ・高可用性のすべての要件を満たします。
単一クラスター(A)はリージョン障害に弱く、AlloyDB(D)はこの規模の時系列ワークロードには不向きです。

Bigtable レプリケーションの概要(Google Cloud 公式ドキュメント)

Q4Google Professional Cloud Database Engineer

A. 線形スケーリング(linear scaling)を使用してオートスケーラーベースのアーキテクチャを実装する。
B. ダイレクトスケーリング(direct scaling)を使用してオートスケーラーベースのアーキテクチャを実装する。
C. 定期的にスケジュールされたメンテナンスウィンドウ中にCloud Spannerインスタンスをアップグレードする。
D. Cloud Spannerの使用率メトリクスがしきい値を超えたときにトリガーされるアラートを設定し、スケジュールされたメンテナンスウィンドウ中にアップグレードする。

回答
A

Cloud Spanner Autoscalerには段階的(stepwise)・線形(linear)・ダイレクト(direct)の3つのスケーリング方式があります。
トラフィックが一定の割合で着実に増加し、たまに穏やかな急増がある本ケースでは、利用率に比例して容量を滑らかに増減させる線形スケーリングが最適です。
ダイレクトスケーリングは急峻なスパイク向き、手動アップグレード(C・D)は自動化という要件に反します。

Cloud Spanner のオートスケーリング(Google Cloud 公式ドキュメント)

Q5Google Professional Cloud Database Engineer

A. Cloud Billingで予算アラートを設定し、支出が事前定義したしきい値を超えたときに通知する。
B. 使用パターンを分析する自動化スクリプトと、パフォーマンスを追跡するCloud Monitoringのカスタム指標を組み合わせて実装する。定義したしきい値に基づいてスケーリングを管理する。
C. Query Insightsを使用してパフォーマンスのボトルネックを特定して対処し、推奨事項に基づいてインスタンスサイズを調整する。
D. Cloud Billingレポートを毎月確認し、観測された使用パターンに基づいてインスタンスサイズを調整する。

回答
C

Query Insightsは、Cloud SQL for PostgreSQLにおける低速クエリ・リソースを大量消費するワークロード・パフォーマンスのボトルネックを継続的に可視化し、データに基づく最適化を可能にします。
これらのインサイトを用いてインスタンスを適正サイズに調整することで、パフォーマンス要件を満たしながら先回りでコストを最適化できる点が、単なる予算アラート(A)や手動レビュー(D)よりも優れています。

Query Insights を使用したクエリパフォーマンスの改善(Google Cloud 公式ドキュメント)

Q6Google Professional Cloud Database Engineer

A. データベースを第3正規形に正規化する。
B. 別の圧縮アルゴリズムを使用してデータを圧縮する。
C. ストレージ容量を手動または自動で増やす。
D. 古いデータを読み込むための別のスキーマを作成する。

回答
C

ディスク不足レコメンダーがストレージ枯渇の可能性を示している場合、根本的かつ確実な対処は、推奨に従ってストレージ容量を増やすことです。
Cloud SQLではストレージの自動増量を有効にするか、手動で容量を引き上げることで、ダウンタイムなしにディスク枯渇を回避できるため、選択肢Cが正解です。
正規化や圧縮、スキーマ追加は根本的な容量不足の解決にはなりません。

ディスク不足レコメンダーの使用(Google Cloud 公式ドキュメント)

Q7Google Professional Cloud Database Engineer

A. マルチリージョンクラスターを持つBigtableを使用する。
B. リージョン内のマルチゾーンを持つMemorystore for Redisを使用する。
C. クロスリージョンレプリカを持つCloud SQL for PostgreSQLを使用する。
D. マルチリージョン構成のCloud Spannerを使用する。

回答
C

「オープンソースでSQL準拠」という要件により、独自エンジンのSpanner(D)やNoSQLのBigtable(A)・Memorystore(B)は除外されます。
PostgreSQLはオープンソースかつSQL準拠であり、Cloud SQL for PostgreSQLのクロスリージョンレプリカが世界中の読み取り専用アクセスに低レイテンシで対応できるため、選択肢Cが最適です。
毎晩のバッチ更新はプライマリで行い、各地のレプリカで読み取りを処理します。

クロスリージョンレプリカ(Google Cloud 公式ドキュメント)

Q8Google Professional Cloud Database Engineer

A. Bare Metal Solution for Oracleを選択する。
B. Cloud SQLを選択する。
C. Bigtableを選択する。
D. Cloud Spannerを選択する。

回答
D

Cloud Spannerは自動シャーディングによる水平スケーリングを備えたフルマネージドのリレーショナルデータベースで、グローバル分散と強整合性(外部整合性)を両立します。
マルチリージョン構成のSpannerは99.999%の可用性SLAと強いトランザクション整合性を提供し、グローバル決済ゲートウェイの要件にすべて合致するため、選択肢Dが正解です。
Cloud SQLは自動シャーディングや99.999%可用性に対応せず、BigtableはACIDトランザクションの強整合性を満たしません。

Spanner のインスタンス構成と可用性(Google Cloud 公式ドキュメント)

Q9Google Professional Cloud Database Engineer

A. us-central1リージョンにHAを有効にしたCloud SQLインスタンスを2つデプロイし、us-east1とus-west1にリードレプリカを作成する。
B. us-central1リージョンにCloud SQLインスタンスを2つデプロイし、us-east1とus-west1にリードレプリカを作成する。
C. us-central1リージョンにHAを有効にしたCloud SQLインスタンスを4つデプロイし、us-central1・us-east1・us-west1にリードレプリカを作成する。
D. us-central1リージョンにCloud SQLインスタンスを4つデプロイし、us-central1・us-east1・us-west1にリードレプリカを作成する。

回答
C

100個のデータベース(合計8,000テーブル)を扱うには十分なインスタンス数が必要であり、低レイテンシの書き込みのためにプライマリをデプロイしつつ、各リージョンに読み取りを分散させる構成が求められます。
HAを有効にした4つのインスタンスで可用性を確保し、各リージョン(us-central1・us-east1・us-west1)にリードレプリカを配置することで、書き込みの低レイテンシと地域分散した読み取りの両方を満たせるため、選択肢Cが適切です。
HAなしの構成(B・D)は可用性要件を満たしません。

Cloud SQL の高可用性(Google Cloud 公式ドキュメント)

Q10Google Professional Cloud Database Engineer

A. Database Migration Serviceでオンプレミスのデータベースに接続し、継続的レプリケーションを選択する。オンプレミスのデータベースの移行後、Cloud SQL for MySQLインスタンスをプロモートし、アプリケーションをCloud SQLインスタンスに接続する。
B. テーブルごとにCloud Data Fusionパイプラインを構築してオンプレミスのMySQLからCloud SQL for MySQLへデータを移行する。各パイプライン実行のためにダウンタイムをスケジュールし、移行成功を確認後、アプリケーションをCloud SQL for MySQLインスタンスに向け直す。
C. オンプレミスのアプリケーションを停止し、mysqldumpユーティリティで圧縮形式のダンプを作成する。gsutil -mでダンプファイルをCloud Storageに移動し、Cloud SQL for MySQLのインポートオプションを使用する。完了後、アプリケーションを向け直す。
D. オンプレミスのアプリケーションを停止し、mysqldumpユーティリティでCSV形式のダンプを作成する。gsutil -mでダンプファイルをCloud Storageに移動し、Cloud SQL for MySQLのインポートオプションを使用する。完了後、アプリケーションを向け直す。

回答
A

ダウンタイムを最小化しつつトランザクションを保持してMySQLを移行する場合、Database Migration Service(DMS)の継続的レプリケーションが最適です。
DMSは初期ロード後に変更をリアルタイムで同期し続け、準備が整った時点でCloud SQLインスタンスをプロモートしてカットオーバーできるため、ダウンタイムを大幅に削減できます。
mysqldumpを用いるC・Dはアプリ停止が必要でダウンタイムが大きく、Cloud Data Fusion(B)も計画停止を要します。

Database Migration Service(MySQL)(Google Cloud 公式ドキュメント)