無限ノック › SAP 練習問題一覧 › 問題
SAP既存のソリューションの継続的改善

ある会社はAmazon RDS for PostgreSQLを運用しており、パフォーマンス分析の結果、特定の複雑な読み取り専用クエリがデータベースのCPU負荷を過度に高めていることが判明しました。次の要件をすべて満たす最も適切な設計はどれですか。 ・アプリケーション全体の可用性を維持する ・書き込み負荷への影響を与えずに読み取りパフォーマンスを劇的に改善する ・クエリ結果をキャッシュしてデータベースへのリクエストを減らす

A
Amazon RDSリードレプリカを作成してクエリをオフロードし、Amazon ElastiCacheを導入してクエリ結果のキャッシュ層として利用する
✓ 正解
リードレプリカによるトラフィックのオフロードと、ElastiCacheによるクエリ結果のキャッシュは、読み取り負荷の軽減とデータベースアクセス回数の削減という両方の目標を達成するための最適な設計です。
B
RDSのマルチAZ配置を有効にして読み取り専用インスタンスをアクティブ化し、DBパラメータグループでクエリキャッシュを有効にする
マルチAZ配置は高可用性(フェイルオーバー)を目的とした機能であり、セカンダリインスタンスはスタンバイ状態であるため読み取りトラフィックを処理することはできません。また、クエリキャッシュはDB設定のみでは効果が限定的です。
C
RDSインスタンスのストレージタイプをio2にアップグレードし、最大CPUパフォーマンスを向上させるためのインスタンスサイズ変更を行う
インスタンススペックのアップグレードは「リソースの増強」であり、コストが高くつきがちです。また、キャッシュの導入のようにデータベースへのアクセス回数を減らす機能は持たないため、根本的な負荷対策としては不十分です。
D
すべての読み取り専用クエリをAmazon Redshiftに複製し、Redshiftのダッシュボード機能を使用して高速なクエリ結果を提供する
RedshiftはOLAP(データ分析)に特化したデータウェアハウスであり、OLTPベースのRDS運用環境の読み取り負荷対策として、すべてのクエリを移行することはアプリケーションの構成上現実的ではありません。

解説

読み取りクエリによる負荷の解決策として、リードレプリカを作成してプライマリDBのCPU負荷を軽減します。さらにAmazon ElastiCache(RedisまたはMemcached)をアプリケーションとRDSの間に配置し、頻繁に実行されるクエリの結果をキャッシュすることで、RDSへのアクセス頻度を大幅に削減できます。この組み合わせにより、書き込み性能を維持しつつ、読み取り負荷の軽減とパフォーマンス向上を同時に実現します。 RDSのマルチAZ配置を有効にしても、スタンバイインスタンスはフェイルオーバー専用であり読み取りトラフィックには使用できません。また、PostgreSQLにはMySQLのようなDBレベルのクエリキャッシュ機能は存在しないため、パラメータグループで有効化することはできません。 ストレージタイプのアップグレードやインスタンスサイズ変更はIOスループット改善に寄与しますが、複雑な読み取りクエリによるCPU過負荷の根本的な解決にはなりません。コスト増大を招く一時的な対処に留まります。 Amazon Redshiftは大規模なOLAPデータウェアハウス向けサービスであり、トランザクショナルなWebアプリケーションの低レイテンシクエリ処理には適していません。RDSからのリアルタイム複製にも追加の複雑さとコストが伴います。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでSAPを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
← SAP の問題一覧に戻る