Q22 — AWS DEA-C01 第1章
第 22/100 問 | ← 第1章
ある企業はリアルタイム分析機能を実装したいと考えています。企業は、Amazon Kinesis Data StreamsおよびAmazon Redshiftを用いて、1秒あたり数ギガバイトの速度でストリーミングデータを取得・処理したいと考えています。また、既存のビジネスインテリジェンス(BI)および分析ツールを用いて、ほぼリアルタイムのインサイトを得たいと考えています。 これらの要件を最も少ない運用オーバーヘッドで満たすソリューションはどれですか?
- A. Kinesis Data Streamsを用いてデータをAmazon S3にステージングし、COPYコマンドを用いてS3からAmazon Redshiftにデータを直接ロードして、リアルタイム分析に即座に利用可能にします。
- B. SQLクエリを用いてKinesis Data Streamsのデータにアクセスします。ストリーム上に直接マテリアライズドビューを作成し、最新のストリームデータをクエリするために定期的に更新します。
- C. Amazon Redshiftで外部スキーマを作成して、Kinesis Data StreamsのデータをAmazon Redshiftオブジェクトにマッピングします。ストリームからデータを読み取るマテリアライズドビューを作成し、自動更新を有効にします。 ✓
- D. Kinesis Data StreamsをAmazon Kinesis Data Firehoseに接続します。Kinesis Data Firehoseを用いてデータをAmazon S3にステージングし、COPYコマンドでS3からAmazon Redshiftのテーブルにデータをロードします。
正解: C. Amazon Redshiftで外部スキーマを作成して、Kinesis Data StreamsのデータをAmazon Redshiftオブジェクトにマッピングします。ストリームからデータを読み取るマテリアライズドビューを作成し、自動更新を有効にします。
解説
正解はCです。Amazon Redshiftの外部スキーマを作成してKinesis Data Streamsのデータをマッピングし、自動更新されるマテリアライズドビューを作成することで、リアルタイム分析要件を比較的少ない運用オーバーヘッドで実現できます。選択肢AではS3へのステージングとRedshiftへのロードという追加ステップがあり、複雑性が増します。選択肢Bでは、1秒あたり数ギガバイトの大量ストリームデータを処理する際に、パフォーマンスおよび管理上の課題が生じる可能性があります。選択肢Dでは、Kinesis Data Firehoseを経由してS3にステージングし、その後Redshiftにロードするという手順が冗長です。以上より、Cは最少の運用オーバーヘッドで要件を満たすため、正解です。