Question #782
A global IoT platform is ingesting millions of sensor readings per second from devices worldwide. The data must be processed in real-time by multiple analytics services simultaneously. Which service enables concurrent processing by all consumers while maintaining low latency and high cost-efficiency?
Amazon SNS with fan-out to an SQS queue for each analytics service
Amazon SNS with fan-out to an SQS FIFO (first-in, first-out) queue for each analytics service
Amazon Kinesis Firehose
Amazon Kinesis Data Streams
Explanation
Amazon Kinesis Data Streams (D) is the correct answer because it supports high-throughput, low-latency ingestion and processing of real-time data streams. It enables multiple consumers (e.g., analytics services) to read and process the same data simultaneously using shared shards, ensuring concurrent processing without duplication.
Other options are incorrect because:
- A/B (SNS with SQS): While SNS can fan-out to SQS queues, SQS is pull-based and introduces latency. Storing copies of data in multiple queues increases costs at scale, and FIFO queues (B) have throughput limits (300 msg/s), making them unsuitable for millions/sec.
- C (Kinesis Firehose): Firehose focuses on batch delivery to destinations (e.g., S3, Redshift) and lacks real-time multi-consumer processing capabilities.
Key Points:
- Kinesis Data Streams supports high-volume, low-latency streaming with concurrent consumers.
- SNS/SQS fan-out duplicates data per queue, increasing costs and latency.
- Firehose is for batch delivery, not real-time analytics.
Answer
The correct answer is: D