AWS Certified Solutions Architect Associate(SAA-C03) 練習問題 49:サーバーレスなデータ分析とクエリ
Amazon S3バケットに大量のCSV形式およびJSON形式のデータが継続的に保存されています。事前にデータベースサーバーなどを構築・運用することなく、標準的なSQLを使用してS3上のデータを直接クエリして分析したい場合、正しいサービスはどれか。
- Amazon Redshiftをプロビジョニングし、S3のデータをクラスタ内のローカルディスクに定期的にロードすることで、標準SQLによる高度なデータ分析が可能になる。
- Amazon RDSのリードレプリカをS3バケットに直接アタッチすることで、S3上の生データに対してリレーショナルデータベースと同じようにSQLクエリを実行できる。
- Amazon Athenaを利用することで、インフラのプロビジョニングをすることなく、S3上に配置されたデータに対して直接標準的なSQLクエリを実行し結果を取得できる。
- Amazon Managed Service for Apache Flinkを利用し、S3上の静的データをアプリケーションのメモリ上にすべて読み込むことで標準SQLの分析が可能になる。
- AWS Glueのクローラー機能を利用することで、S3バケット内のファイルを自動的にリレーショナル形式に変換し、Glueコンソール上で直接SQLを実行して分析できる。
正解と解説を見る
事前にデータベースサーバーなどを構築することなく、S3上のデータに直接SQLを実行して分析するには、Amazon Athenaを使用するのが正解です。
【正解の理由】
Amazon Athenaは、Amazon S3内のデータを直接分析できるサーバーレスのインタラクティブなクエリサービスです。インフラをセットアップしたり管理したりする必要がなく、標準的なSQLを使用してCSV、JSON、Parquetなどのデータ形式に対してクエリを実行し、実行したクエリのデータスキャン量に対してのみ料金を支払うという特徴があります。
【不正解の理由】
• 「Amazon Redshiftをプロビジョニングし、S3のデータをクラスタ内のローカルディスクに定期的にロードする」という説明は誤り。インフラ(クラスター)のプロビジョニング(=事前の構築や準備のこと)や運用が必要となるため、サーバーレスで直接クエリするという要件に合致しません。
• 「Amazon RDSのリードレプリカをS3バケットに直接アタッチすることで〜」という説明は誤り。RDSはリレーショナルデータベースのサービスであり、S3バケット上のファイルに直接アタッチしてSQLを実行するような機能はありません。
• 「Amazon Managed Service for Apache Flinkを利用し、S3上の静的データをアプリケーションのメモリ上にすべて読み込む」という説明は誤り。同サービスは主にストリーミングデータ(リアルタイムに生成されるデータ)の分析に特化しており、S3上の大量の静的データに標準SQLを直接発行する用途にはAthenaが適しています。
• 「AWS Glueのクローラー機能を利用することで、S3バケット内のファイルを自動的にリレーショナル形式に変換し〜」という説明は誤り。Glueクローラーはデータスキーマ(構造)を推論してデータカタログを作成する機能ですが、ファイル自体を変換したり、Glueコンソール上で直接SQLを実行するためのサービスではありません。