Q56 — AWS SAA-C03 第12章

第 56/100 問 | ← 第12章

Q856. ある企業は5 TBのデータセットを保有しています。このデータセットには100万件のユーザープロファイルと1,000万件の接続(コネクション)が含まれており、ユーザープロファイル間の接続は多対多の関係です。同社は、最大5段階までの相互接続(ミューチュアル・コネクション)を高性能に検索する必要があります。これらの要件を満たすソリューションはどれですか?

正解: B. Amazon Neptuneを使用して、頂点(vertices)と辺(edges)としてデータセットを保存し、接続を検索するクエリを実行します。

解説

100万件のユーザープロファイルと1,000万件の接続という大規模な多対多関係データにおいて、最大5段階までの相互接続を効率的に検索するには、以下の選択肢Bが推奨されます。理由は以下の通りです。選択肢Bでは、専用のグラフデータベースサービスであるAmazon Neptuneを用いて、ユーザープロファイルを頂点(vertex)、接続を辺(edge)としてモデル化し、グラフ構造上でクエリを実行します。グラフデータベースは、高度に相互接続されたデータにおける複雑な関係性の探索やトラバーサルに特化しており、本ユースケースに最適です。Amazon NeptuneはGremlinおよびRDF/SPARQLといったグラフクエリ言語をサポートしており、指定された深さ(最大5段階)内での相互接続を効率的に発見するためのグラフ走査アルゴリズムを活用できます。一方、選択肢A(Amazon S3 + Amazon Athena)は、構造化データに対するSQLクエリに優れていますが、グラフ構造のような複雑な関係性の多段階JOINはパフォーマンス上不利です。選択肢C(Amazon S3 + Amazon QuickSight)はBI向けの可視化ツールであり、グラフクエリ機能は備えておらず、相互接続の探索には不向きです。選択肢D(Amazon RDS + SQL JOIN)は、リレーショナルデータには有効ですが、多対多関係の多段階接続探索には、グラフデータベースと比べてスケーラビリティとパフォーマンスに限界があります。したがって、本要件を満たす最も適切なソリューションは、専用グラフデータベースであるAmazon Neptuneを活用し、頂点・辺によるモデリングと最適化されたグラフクエリ機能を用いることです。