DEAデータストアの管理
データ分析チームは、Amazon S3にある過去のログデータと、Amazon DynamoDBに格納されているリアルタイムのユーザープロファイルデータを結合して分析したいと考えています。データを移動または複製することなく、標準のSQL構文を使用して両方のデータソースを同時にクエリできるソリューションが必要です。この要件を満たす最適なアプローチはどれですか。
AAWS GlueコンソールからJDBC接続を設定し、両方のデータソースをカタログ化してクエリを実行する
AWS GlueデータカタログはJDBC接続をサポートしていますが、Glueクローラ自体はメタデータを取得するツールであり、DynamoDBに対してリアルタイムのSQLクエリを直接実行するためのクエリエンジンではありません。
BAmazon Athenaのクエリフェデレーション機能を使用して、DynamoDB用のデータソースコネクタを展開する
✓ 正解
Amazon Athenaクエリフェデレーションを利用し、DynamoDB用のデータソースコネクタを展開することで、データをS3に抽出・移動することなくAthenaから標準的なSQLを使用して直接DynamoDBにクエリを実行できます。
CAmazon EMRクラスターを起動し、ODBCドライバーを介してS3とDynamoDBのデータを結合する
Amazon EMRを使用してODBCやJDBCドライバー経由でデータを結合することは可能ですが、クラスターのプロビジョニングと管理という大きな運用オーバーヘッドが発生し、最適なサーバーレスアプローチとは言えません。
DDynamoDB Streamsを使用してS3にデータをエクスポートし、Athenaで統合クエリを実行する
DynamoDB Streamsを利用してS3にデータを継続的にエクスポートするアーキテクチャは、データの複製や移動を伴うため、「データを移動または複製することなく」という問題の重要な要件に直接的に違反してしまいます。
解説
Amazon Athenaクエリフェデレーションを使用すると、リレーショナルデータベース、非リレーショナルデータベース、オブジェクトストレージなどに保存されているデータを、AWS Lambda上のデータソースコネクタを介して標準のSQLを使用してクエリできます。この機能を利用してDynamoDB用コネクタを展開することで、S3のデータとDynamoDBのデータをデータを移動・複製することなく統合してクエリすることが可能になります。GlueクローラはJDBC接続をサポートしていますが、DynamoDBに直接SQLを実行するクエリエンジンではありません。EMRによるODBC/JDBCの運用はサーバーレスではなく管理オーバーヘッドが高くなります。DynamoDB Streamsを利用してS3にエクスポートする手法は、要件の「データを移動または複製することなく」に反しています。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでDEAを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →