SAP-C02新しいソリューションのための設計HARD単一選択

ある企業が AWS 上で大規模なデータ処理パイプラインを設計しており、1 日に 10 億件のイベントを処理する必要があります。各イベントは 1KB 以下で、5 分以内にリアルタイム処理と、90 日分の履歴データを分析するバッチ処理の両方が必要です。ストリーム処理とバッチ処理を統合した「ラムダアーキテクチャ」を AWS で実装するには、どの設計が最も適切ですか?

  1. A. Amazon SQS で全イベントを受信し、Lambda で処理して RDS に保存する
  2. B. Amazon RDS に全イベントを書き込み、リアルタイムクエリとバッチクエリを同一データベースで処理する
  3. C. 全イベントを DynamoDB に書き込み、DynamoDB Streams でバッチ処理をトリガーする
  4. D. Amazon Kinesis Data Streams でリアルタイムストリームを受信し、Kinesis Data Analytics(Apache Flink)でストリーム処理(速度層)を行う。Kinesis Data Firehose で全イベントを S3 の Parquet 形式で保存し(バッチ層)、定期的に Glue ETL ジョブで集計・加工して S3 データレイクを構築する。Athena でアドホック分析を提供するラムダアーキテクチャを実装する
解答と解説を見る

正解: D

ラムダアーキテクチャ(Lambda Architecture)は速度層(Speed Layer)とバッチ層(Batch Layer)で構成されます。Kinesis Data Streams + Flink の速度層は 5 分以内のリアルタイム処理を担当し、S3 + Glue のバッチ層は 90 日分の履歴データの完全処理を担当します。Kinesis Firehose で S3 への自動保存が実現し、1 日 10 億件のイベントにも対応できます。 A: SQS + Lambda + RDS は大規模なイベント処理(10 億件/日)には RDS の書き込みスケールが不十分で、ラムダアーキテクチャのバッチ層も実装されていません。 B: 単一 RDS に全イベントを書き込むことは、1 日 10 億件のスループットに対してストレージとクエリ性能の両面で限界があります。 C: DynamoDB は高スループット書き込みに対応しますが、90 日分の大規模なバッチ分析には Athena のようなサーバーレスクエリエンジンが適しており、DynamoDB の全スキャンは高コストです。

▸ この試験を本気で演習する(全150問・無料)