無限ノック › SAA 練習問題一覧 › 問題
SAA高性能なアーキテクチャの設計

ある EC サイトが商品カタログ 5,000 万件を Amazon RDS MySQL に格納しており、商品名・説明文への全文検索とカテゴリ・価格帯・ブランドによるファセット検索を提供しています。現在の LIKE 句クエリでは応答に 5 秒以上かかり UX が低下しています。データ更新は 1 日数回で、検索クエリが全トラフィックの 95% を占めます。最もパフォーマンスが高い改善策はどれですか。

A
RDS MySQL に Read Replica を追加して検索クエリを分散させ、プライマリインスタンスの負荷を軽減する
RDS MySQL Read Replica は読み取り負荷を分散できるが LIKE '%keyword%' による全文検索の根本的な遅さは解消されない。5,000 万件規模ではフルスキャンになりやすく性能改善は限定的。
B
Amazon OpenSearch Service クラスターを構築し、転置インデックスで全文検索・ファセット検索を実装する
✓ 正解
Amazon OpenSearch Service は転置インデックスによる全文検索とアグリゲーションによるファセット検索を提供し、5,000 万件規模でもサブ秒応答が可能。検索特化の設計でこの要件に最も適合する。
C
Amazon DynamoDB に商品データを移行し、Global Secondary Index でカテゴリ・価格帯にクエリする
Amazon DynamoDB の GSI は等値・範囲クエリに有効だが全文検索・形態素解析・スコアリングには対応していない。商品名・説明文の部分一致検索には根本的に不適。
D
Amazon ElastiCache for Redis に検索結果をキャッシュし、同一クエリのレスポンスタイムを短縮する
Amazon ElastiCache for Redis は同一クエリの繰り返しには有効だが、ファセット検索のような動的条件の組み合わせには対応しにくく、初回クエリやキャッシュミス時のパフォーマンス問題は残る。

解説

Amazon OpenSearch Service は Elasticsearch ベースのマネージド検索エンジンであり、転置インデックスによる全文検索とアグリゲーション機能によるファセット検索(カテゴリ・価格帯・ブランドの絞り込み)をサブ秒で処理できる。LIKE 句クエリとは根本的に異なる検索特化の構造であるため、5,000 万件規模でも高速レスポンスが実現可能。RDS MySQL を正規データとして維持しつつ、更新時に OpenSearch へ同期する構成が一般的。 選択肢Aの RDS MySQL Read Replica は読み取り負荷の分散には有効だが、LIKE 句全文検索の根本的な遅さは解消されない。LIKE '%keyword%' はインデックスが効かずフルスキャンになりやすい。 選択肢Cの Amazon DynamoDB の GSI は等値・範囲クエリには有効だが、全文検索(部分一致・形態素解析・スコアリング)には対応しておらず商品名・説明文の検索要件を満たせない。 選択肢Dの Amazon ElastiCache for Redis は同一クエリの繰り返しには有効だが、ファセット検索のような動的条件の組み合わせでは効果が限定的でキャッシュミス時の遅延は解消されない。

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

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

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