AWS Certified Developer – Associate (DVA-C02)Development with AWS ServicesHard
A developer is designing a serverless application that processes a high volume of real-time clickstream data from a website. The data needs to be ingested continuously, and multiple downstream applications (e.g., real-time analytics, archival to S3, and a dashboard) need to consume this data concurrently and independently. The solution must support ordering of records and allow for replay of data for a limited time. Which AWS service should the developer use as the ingestion and streaming layer?
- AAmazon SQS (Simple Queue Service)
- BAmazon SNS (Simple Notification Service)
- CAmazon Kinesis Data Streams
- DAmazon DynamoDB Streams
Show answer & explanationAnswer & explanation
Correct answer: C. Amazon Kinesis Data Streams
Amazon Kinesis Data Streams is a highly scalable and durable real-time data streaming service. It can continuously capture gigabytes of data per second from hundreds of thousands of sources. It supports multiple consumers, ordered records within a shard, and retention of data for up to 365 days, enabling data replay for various downstream applications.
Why the other options are wrong
- A. Amazon SQS is a message queuing service for decoupling, not for real-time streaming of high-volume data to multiple concurrent consumers with data replay capabilities.
- B. Amazon SNS is a pub/sub notification service, not designed for continuous, ordered, high-volume data streaming with replay capabilities.
- D. Amazon DynamoDB Streams captures changes to DynamoDB tables for real-time events, but it's specific to DynamoDB data, not for general clickstream ingestion.
Amazon Kinesis Data Streams
A real-time data streaming service that can continuously capture and store terabytes of data per hour from hundreds of thousands of sources.
- Supports high-throughput, low-latency data ingestion.
- Allows multiple consumers to process the same stream concurrently.
- Maintains the order of records within a shard.
- Retains data for up to 365 days for replay.
Memory trick: When data 'flows' like a 'river' for 'streams' of analysis, 'Kinesis' is the powerful 'stream' engine.