Course menuSAA-C03

Exams / SAA-C03 / Streaming and analytics / Question 1

SAA-C03 practice question: Streaming and analytics (1 of 2)

Design High-Performing Architectures A free question from our original SAA-C03 practice exam. Try it, then open the answer to see why each option is right or wrong.

A media company streams about 20 MB/s of viewing events from its apps into AWS. Three teams each build their own consumer application: live dashboards, fraud detection and recommendations. Each consumer must read every event within about a second of arrival without slowing the other consumers down. After a bug fix, any team must be able to reprocess the last 3 days of events. Which solution meets these requirements?

Choose one answer.

  1. A. Write the events to an Amazon Kinesis data stream with default retention, and register each team's application as an enhanced fan-out consumer.
  2. B. Write the events to an Amazon Kinesis data stream with a 72-hour retention period, and have all three applications read each shard with GetRecords.
  3. C. Write the events to an Amazon Kinesis data stream with a 72-hour retention period, and register each team's application as an enhanced fan-out consumer.
  4. D. Publish the events to an Amazon SNS topic that fans out to one Amazon SQS queue per team, with each queue's message retention set to 4 days.
Show the answer and explanation

Answer: C

  • A. Wrong: Enhanced fan-out gives each registered consumer its own 2 MB/s per shard, so the consumers do not compete. However, the default retention period is 24 hours, so a team could not go back 3 days after a bug fix. The retention period must be increased to at least 72 hours. Learn more: Change the data retention period (opens in a new tab)
  • B. Wrong: The 72-hour retention meets the replay need, but standard GetRecords consumers share a shard's 2 MB/s read limit. Each shard takes up to 1 MB/s of writes, so three consumers would need up to 3 MB/s per shard and would slow each other down. Enhanced fan-out gives each consumer dedicated throughput. Learn more: Quotas and limits (opens in a new tab)
  • C. Right: Correct. A 72-hour retention period keeps 3 days of records available for any consumer to re-read from an earlier position. Enhanced fan-out pushes records to each registered consumer with its own 2 MB/s per shard, typically in about 70 ms, so the three teams do not affect each other. Learn more: Develop enhanced fan-out consumers with dedicated throughput (opens in a new tab)
  • D. Wrong: SNS-to-SQS fan-out gives each team its own copy of every event. But a consumer deletes each SQS message once it has processed it, so after a bug fix there is nothing left in the queue to replay. A stream with retention lets consumers re-read records they have already processed. Learn more: Common Amazon SNS scenarios (opens in a new tab)

Explanation

Two limits decide this. Kinesis keeps records for 24 hours by default, and retention can be raised up to 365 days, so 3-day replay needs at least 72 hours. Without enhanced fan-out, all consumers share 2 MB/s of reads per shard while each shard can take 1 MB/s of writes, so three full-speed consumers would compete. Enhanced fan-out gives each registered consumer its own 2 MB/s per shard. SQS queues cannot replay messages that have been processed and deleted.

Study

Keep practising

Answer questions with a score at the end, or practise just this topic with the explanation after each one. No sign-up needed.