模擬問題集 › GCP-PCDBE › 練習問題 6

GCP-PCDBE 練習問題 6|複数のデータベース技術にまたがるソリューションの管理

Professional Cloud Database Engineer・無料公開(全 200 問中 15 問を無料公開中)

問題
アプリケーションで Cloud SQL for MySQL インスタンスを使用しています。最近、ピーク時間帯にパフォーマンスが低下して応答時間が遅くなり、ユーザーが不満を感じていることに気付きました。非効率なクエリが問題の一因になっている可能性があると考えています。問題のあるクエリを特定して分析し、最適化のためにアプリケーション チームに引き渡したいと考えています。どうすればよいですか。

選択肢と解説

  • 1
    アンダープロビジョニング状態のインスタンスのレコメンダーを使用する。
  • 2
    Cloud SQL インスタンスの read_buffer_size フラグの値を増やす。
  • ✓
    Query Insights を有効にして使用する。
  • 4
    database/mysql/queries 指標に基づく Cloud Monitoring アラートを作成する。

解説

【正解】C

【0からの解説】
①前提知識
Query Insights は、Cloud SQL に組み込まれたクエリ パフォーマンスの診断機能です。有効にすると、データベースの負荷をクエリ単位・タグ単位で可視化し、実行時間・実行回数・スキャン行数などからどのクエリが負荷を生んでいるかを特定できます。クエリ プラン(実行計画)の確認や、アプリケーション側でタグ(Sqlcommenter)を付けることでどのアプリケーション コードが問題のクエリを発行しているかの追跡もできます。追加のツールを導入する必要がなく、Cloud SQL Enterprise エディションと Enterprise Plus エディションの両方で利用できます(Enterprise Plus ではより長い保持期間などの拡張機能があります)。

②要件と制約の整理
・非効率なクエリが原因と推測している。
・「問題のあるクエリを特定して分析」し、その結果を「アプリケーション チームに引き渡して最適化」してもらいたい。
→ 必要なのは、クエリ レベルで原因を特定・分析できるツール。

③正解が要件を満たす理由
Query Insights を有効にすれば、ピーク時に負荷の高いクエリを上位から特定し、そのクエリの実行計画や待機要因、呼び出し元のアプリケーション情報まで確認できます。これらの情報をそのままアプリケーション チームに渡してクエリの書き換えやインデックス追加を依頼できるため、要件を直接満たします。

【誤りの選択肢】
A:アンダープロビジョニング インスタンスのレコメンダーは、CPU やメモリが不足しているインスタンスに対してマシンタイプの増強を提案する機能です。リソース不足は分かっても、どのクエリが非効率なのかは特定できません。
B:read_buffer_size はシーケンシャル スキャン用のバッファ サイズを調整する MySQL のフラグで、推測に基づくチューニングにすぎません。問題のクエリを特定・分析するという要件を満たさず、値を大きくしすぎるとメモリ消費が増える副作用もあります。
D:database/mysql/queries はクエリ数(実行された文の数)の指標で、アラートを作れば負荷の増加は検知できますが、どのクエリが非効率なのかを特定・分析する情報は得られません。

【参考】
Query Insights を使用してクエリのパフォーマンスを向上させる | Cloud SQL for MySQL
← 練習問題 5練習問題 7 →
GCP-PCDBE の模擬問題集は全 200 問

本番形式の練習テスト 4 回を、試験モード/演習モードで受験できます。 全問に解説付き、ドメイン別の弱点分析にも対応。模試プラン(月額 ¥980)からご利用いただけます。

GCP-PCDBE の模試を受ける料金プランを見る

GCP-PCDBE の無料公開問題

問題 1問題 2問題 3問題 4問題 5問題 6問題 7問題 8問題 9問題 10問題 11問題 12問題 13問題 14問題 15