Optimizing Kinesis Data Streams with Enhanced Fan-Out and PutRecords
Short answer
A Configure the mobile app to call the PutRecords API operation to send data to Amazon Kinesis Data Streams. Use the enhanced fan-out feature with a stream for each internal consumer.
Question
Key Takeaways
The scenario tests the distinction between standard shared throughput and enhanced fan-out, combined with the efficiency of batched ingestion APIs like PutRecords.
This question evaluates the optimal strategy for ingesting high-volume mobile gaming data into Amazon Kinesis Data Streams while ensuring dedicated throughput for multiple internal consumers.
Common mistake: Candidates often select Option D, assuming EC2 auto-scaling provides the necessary dedicated throughput, or Option B, mistakenly believing Firehose supports enhanced fan-out or that support cases can override service limits instantly.
Expert Analysis
Why the Answer Is Correct
Option A is the correct solution because it addresses all three constraints: efficient ingestion, optimal device throughput, and dedicated consumer throughput. The PutRecords API allows the mobile app to send multiple records in a single request, reducing network overhead and optimizing throughput from each device compared to individual PutRecord calls. Furthermore, Amazon Kinesis Data Streams' enhanced fan-out feature provides dedicated 2 MB/s throughput per consumer directly from the stream, bypassing the shared shard limit. This ensures that each of the three internal consumers receives data with guaranteed, isolated bandwidth.
Why the Other Options Are Wrong
Option B is incorrect because Amazon Kinesis Data Firehose does not support the enhanced fan-out feature; it is designed for loading data into destinations like S3 or Redshift, not for real-time application consumption. Additionally, requesting dedicated throughput via an AWS Support case is not a standard architectural pattern for this requirement. Option C is invalid because while KPL can work with Firehose (as noted by user LR2023), Firehose still lacks enhanced fan-out, failing the dedicated throughput requirement. Option D uses PutRecords correctly but relies on standard consumer logic without enhanced fan-out; thus, all consumers would share the shard's throughput, violating the 'dedicated throughput' requirement.
Community Comment Notes
The community overwhelmingly agrees with Option A. User AgboolaKun highlighted that PutRecords is efficient for sending multiple records, optimizing device throughput, while enhanced fan-out provides dedicated streams for consumers. User Fawk confirmed that KPL does not work with Firehose in the context of enhancing fan-out capabilities and that dedicated throughput is solved through fan-out. User pikuantne reinforced that Firehose lacks enhanced fan-out and that Option D fails to provide dedicated throughput without it.
Official Reference
https://docs.aws.amazon.com/streams/latest/dev/extended-client-library-overview.html
This link opens the official vendor documentation in a new tab.
Exam Strategy
When a question specifies 'dedicated throughput' for multiple consumers reading from a stream, immediately look for 'Enhanced Fan-Out'. For high-volume ingestion from many devices, prefer batch APIs like PutRecords over single-record APIs to reduce latency and cost.
Frequently Asked Questions
Why is PutRecords better than PutRecord for mobile apps?
Does Kinesis Data Firehose support enhanced fan-out?
Community Votes
100% of anonymous learners picked answer A. Votes are pick records left by other test-takers — they are not the verified answer.
Discussion 5 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 5
-
AgboolaKun 👍 2 Answered AThe correct answer is A. Here is why: Amazon Kinesis Data Streams is designed for real-time streaming data. The PutRecords API is efficient for sending multiple records to Kinesis in a single call, which is good for optimizing throughput from mobile devices. The enhanced fan-out feature allows multiple consumers to read from the same stream with dedicated throughput for each consumer, which meets the requirement of dedicated throughput for each internal consumer. This option uses uses Kinesis Data Streams for real-time processing, optimizes throughput from mobile devices with the PutRecords API, and provides dedicated throughput for each consumer using the enhanced fan-out feature.
-
Fawk 👍 2 Answered ASeems to be A - Since KPL does not work into firehouse and only streams, and additionally the dedicated throughput is solved through fan-out
-
pikuantne 👍 1 Answered AA is best, but I think it was supposed to be a SHARD for each consumer. B - doesn't make any sense C - Firehose does not have enhanced fan-out afaik D - does not have the dedicated throughput as it doesn't use enhanced fan-out with KDS
-
LR2023 👍 1 Answered Bhttps://docs.aws.amazon.com/streams/latest/dev/kpl-with-firehose.html KPL does work with firehose
-
MerryLew 👍 1 Answered AThe fan out feature allows consumers to receive data from a stream with dedicated throughput
Reader comments & corrections
No reader corrections yet — spotted an error or have a note? Share it below.
Related Analysis
Practice All DEA-C01 Questions
Access 100 questions with complete answers and detailed explanations.
View Full DEA-C01 Practice Test →