A retail company wants to capture clickstream events from its website and make them available to downstream consumers within seconds of each click. Multiple applications will process the same events independently. Which AWS service should the data engineer use to ingest the clickstream data?
Choose one.
Choosing between streaming and batch ingestion depends on how quickly data must be available. Real-time event capture with multiple independent consumers is the core Kinesis Data Streams use case.
Kinesis Data Streams ingests events as they occur and makes them readable by multiple consumers within seconds, matching both the latency and the fan-out requirement. Glue and daily S3 uploads are batch mechanisms that add minutes-to-hours of latency, and DMS is designed for database replication, not application-generated event streams.
- Identify the latency requirement: data must be usable within seconds, which rules out batch services.
- Identify the consumption pattern: several applications read the same events independently, which requires a durable, replayable stream rather than a queue that removes messages after one read.
- Map the requirements to Kinesis Data Streams, which retains records for a configurable window and supports multiple consumers per stream.
Exam tip: When events must reach multiple consumers within seconds, ingest with Kinesis Data Streams, not a batch service.
Data Ingestion on AWS: Kinesis, MSK, DMS, Glue, and Batch Patterns — the lesson that teaches this.