Scalable Real-Time Clickstream Analysis on AWS

SAA-C03 By islever Editorial Last updated

Short answer

A Use Kinesis Data Streams in on-demand mode to capture clickstream data and AWS Lambda to process it in real time.

Question

An ecommerce company wants to collect user clickstream data from the company's website for real-time analysis. The website experiences fluctuating traffic patterns throughout the day. The company needs a scalable solution that can adapt to varying levels of traffic. Which solution will meet these requirements?
  1. Use a data stream in Amazon Kinesis Data Streams in on-demand mode to capture the clickstream data. Use AWS Lambda to process the data in real time. Correct Answer
  2. Use Amazon Kinesis Data Firehose to capture the clickstream data. Use AWS Glue to process the data in real time.
  3. Use Amazon Kinesis Video Streams to capture the clickstream data. Use AWS Glue to process the data in real time.
  4. Use Amazon Managed Service for Apache Flink (previously known as Amazon Kinesis Data Analytics) to capture the clickstream data. Use AWS Lambda to process the data in real time.

Key Takeaways

The core test is matching 'real-time analysis' and 'fluctuating traffic' to the right ingestion tool; the trap is selecting Firehose (near-real-time) or Glue (batch/ETL).

This question addresses designing a scalable solution for real-time clickstream analysis with fluctuating traffic, establishing that Kinesis Data Streams paired with Lambda is the optimal choice. It clarifies why other services like Glue or Firehose are unsuitable for this specific real-time requirement.

Common mistake: Candidates often choose Option B because they associate Firehose with automated scaling, failing to realize that Glue does not support the required real-time processing capability.

Expert Analysis

Why the Answer Is Correct

Option A is correct because Amazon Kinesis Data Streams in on-demand mode automatically scales shards based on traffic volume, addressing the fluctuating traffic requirement. Using AWS Lambda allows for serverless, real-time data processing as the stream events trigger function execution immediately.

Why the Other Options Are Wrong

Option B is incorrect because while Firehose is scalable, it delivers data near-real-time to destinations like S3, and AWS Glue is primarily an ETL service designed for batch processing, not real-time analysis. Option C is wrong because Kinesis Video Streams is specialized for audio/video, not web clickstreams. Option D is incorrect because Kinesis Data Analytics is used to analyze streams, not capture them, and the combination with Lambda is architecturally mismatched for ingestion.

Community Comment Notes

Community members consistently highlight that AWS Glue is not suitable for real-time workloads, as noted by user f07ed8f who stated "Glue doesn't support process data in real time." User EdricHoang also pointed out the distinction between Firehose's automatic scaling and the lack of real-time support in Glue, reinforcing why A is superior to B.

Official Reference

Exam Strategy

Always check the processing component first; if the question demands 'real-time', eliminate any option involving AWS Glue or Redshift Spectrum unless explicitly configured for streaming, as these are typically batch-oriented. For ingestion, distinguish between Kinesis Data Streams (programmable, real-time) and Firehose (managed delivery, near-real-time).

Frequently Asked Questions

Why is Kinesis Data Firehose not the best choice here?

Firehose is for near-real-time delivery to storage. The question requires real-time analysis, which implies immediate processing logic better handled by Streams + Lambda.

Can AWS Glue handle real-time clickstream data?

No, AWS Glue is primarily designed for batch ETL jobs. While it has some streaming capabilities, it is not the standard solution for low-latency real-time analysis compared to Lambda.

More SAA-C03 FAQ →

Community Votes

A
100%

100% of anonymous learners picked answer A. Votes are pick records left by other test-takers — they are not the verified answer.

Discussion 8 contributions

Compiled from public community threads and reader submissions, lightly edited for clarity. Handles and vote tallies are shown as recorded, and comments reflect the views of individual contributors.

From public community threads 8

  1. sandordini 👍 4 Answered A
    I think Apache Flink (previously known as Amazon Kinesis Data Analytics) would also be fine, but as here it wants to combine it with Lambda, I would rather opt for Kinesis Data Streams + Lambda, so A, because of the figure on this page: https://aws.amazon.com/kinesis/
  2. EdricHoang 👍 3 Answered A
    This one is very tricky, need to read the context carefully: "The company needs a scalable solution that can adapt to varying levels of traffic" -> Both Firehouse and Stream are scalable. But, Firehose is automatic where Stream is not. However, the question does NOT say it should be automatic and Glue is not support real-time analysis. Thats why go for A. B is very close to.
  3. Scheldon 👍 2 Answered A
    AnswerA Apache Flink (previously known as Amazon Kinesis Data Analytics) seems to not allowing sent data directly to Lambda... Glue is allowing to integrate data from couple of sources in to one. Hence I think A is correct answer https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html https://aws.amazon.com/kinesis/data-streams/features/?nc=sn&loc=2
  4. MatAlves 👍 2
    B - C are out = Glue doesn't support real-time data processing. D - Why would you use Kinesis data ANALYTICS to ingest clickstream data instead of Amazon Kinesis DATA STREAM?
  5. f07ed8f 👍 2 Answered A
    Seem AWS Glue does not support process data in real time. I vote for A
Show 3 more comments
  1. mk168898 👍 2
    click stream => kinesis data streams
  2. LeonSauveterre 👍 1 Answered A
    A - Kinesis Data Streams in on-demand mode automatically scales based on traffic, making it an ideal choice for fluctuating traffic patterns. B - Kinesis Data Firehose is used for NEAR real-time data delivery. Also, AWS Glue is better suited for ETL and batch processing rather than real-time analysis. C - Kinesis Video Streams is designed for video or audio streaming data, not clickstream data. D - You can process data, but can't capture raw data first. Also, AWS Lambda provides real-time data processing without the need for managing infrastructure.
  3. f07ed8f 👍 1 Answered B
    Both Kinesis Data Streams and Firehose are scalable but Firehose offers automated scaling. I vote fore B

Reader comments & corrections

No reader corrections yet — spotted an error or have a note? Share it below.

Log in to comment, report an error, or add a note about this question.

Submitted for moderation before publishing. Keep it helpful and respectful.

Practice All SAA-C03 Questions

Access 120 questions with complete answers and detailed explanations.

View Full SAA-C03 Practice Test →

← Back to SAA-C03 Study Guide