あるソーシャルメディア企業は、世界中のユーザーから送信される巨大なテキストフィードをリアルタイムで分析するシステムを設計しています。このシステムは、機械学習モデルを使用して不適切な投稿をフィルタリングし、トレンドを抽出します。テキストデータは非常に高い頻度で到着し、ミリ秒単位の処理速度が求められます。コストを最適化しつつ、このデータフローをサポートする最もスケーラブルなアーキテクチャはどれですか。
高い頻度で到着するストリーミングデータのリアルタイム分析には、Amazon Kinesis Data Streamsが最適です。Kinesisは数百万のソースからミリ秒単位でデータを収集するスケーラビリティを持ち、順序を維持したままLambdaなどのコンピューティング層にデータを転送できます。Lambda関数を使用することで、不適切な投稿のフィルタリングやトレンド情報の抽出といった分析ロジックをサーバーレスで実行でき、トラフィックの変動に即座に反応(オートスケール)してコストを最適化できます。 選択肢BのAmazon S3 + Amazon EMRはバッチ処理向けアーキテクチャです。定期的な大量データ処理には適していますが、ミリ秒単位のリアルタイム処理要件には対応できません。 選択肢CのAmazon API Gateway + Amazon RDSはリレーショナルデータベースへの書き込みを経由する構成であり、大量のストリーミングイベントをリアルタイムで分析するアーキテクチャには適していません。 選択肢DのAmazon SNS + DynamoDB + AWS GlueはGlueがバッチ型のETLサービスであるため、ミリ秒単位のリアルタイム分析要件を満たすことができません。