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.
- AA. Write the events to an Amazon Kinesis data stream with default retention, and register each team's application as an enhanced fan-out consumer.
- BB. 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.
- CC. 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.
- DD. 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.