DEAデータストアの管理
あるeコマース企業が商品検索機能を強化したいと考えています。要件は以下の通りです。
・数百万件の商品カタログに対するキーワードの全文検索
・カテゴリ・価格帯・評価などによるファセット検索とフィルタリング
・関連性スコアリングによる検索結果のランキング
・商品データはトランザクション処理のためAmazon DynamoDBで管理されている
最適なアーキテクチャはどれですか?
ADynamoDBにGlobal Secondary Index(GSI)を複数追加し、すべての検索属性にインデックスを設定する
DynamoDB GSIは特定属性による絞り込みは可能ですが、全文検索・関連性スコアリング・ファセット集計はサポートしていません。また1テーブルあたり最大20個のGSI制限があり、複雑な検索要件には対応できません。
BDynamoDB Streamsを使用してAmazon OpenSearch Serviceに商品データをリアルタイムで同期する
✓ 正解
Amazon OpenSearch Serviceは全文検索・ファセット検索・関連性スコアリングに特化したサービスです。DynamoDB Streamsで商品データの変更をキャプチャし、AWS Lambda経由でOpenSearchに同期することで、DynamoDBのトランザクション性能を維持しながら高度な検索機能をリアルタイムで実現できます。
CAmazon Redshift Spectrumを使用してS3の商品スナップショットデータを定期的にクエリする
Redshift Spectrumは大量データの分析クエリに最適化されていますが、全文検索・ファセット検索・リアルタイム検索レイテンシの面で検索エンジンには劣り、クエリ応答も秒単位になります。
DAmazon AthenaとAmazon S3を使用し、商品データを日次エクスポートしてクエリする
Athenaは日次エクスポートデータへのSQLクエリは可能ですが、リアルタイム性がなく商品更新の反映に最大1日の遅延が発生します。また全文検索や関連性スコアリング機能もありません。
解説
Amazon OpenSearch Serviceは全文検索・ファセット検索・関連性スコアリングに特化したサービスです。DynamoDB Streamsで商品データの変更をキャプチャし、AWS Lambda経由でOpenSearchに同期することで、DynamoDBのトランザクション性能を維持しながら高度な検索機能をリアルタイムで実現できます。
選択肢AのDynamoDB GSIは特定属性による絞り込みは可能ですが、全文検索・関連性スコアリング・ファセット集計はサポートしていません。また1テーブルあたり最大20個のGSI制限があり、複雑な検索要件には対応できません。
選択肢CのRedshift Spectrumは大量データの分析クエリに最適化されていますが、全文検索・ファセット検索・リアルタイム検索レイテンシの面で検索エンジンには劣り、クエリ応答も秒単位になります。
選択肢DのAthenaは日次エクスポートデータへのSQLクエリは可能ですが、リアルタイム性がなく商品更新の反映に最大1日の遅延が発生します。また全文検索や関連性スコアリング機能もありません。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでDEAを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →