Deal of The Day! Hurry Up, Grab the Special Discount - Save 25% - Ends In 00:00:00 Coupon code: SAVE25
Welcome to Pass4Success

- Free Preparation Discussions

Amazon Exam SAA-C03 Topic 3 Question 57 Discussion

Actual exam question for Amazon's SAA-C03 exam
Question #: 57
Topic #: 3
[All SAA-C03 Questions]

A developer used the AWS SDK to create an application that aggregates and produces log records for 10 services. The application delivers data to an Amazon Kinesis Data Streams stream.

Each record contains a log message with a service name, creation timestamp, and other log information. The stream has 15 shards in provisioned capacity mode. The stream uses service name as the partition key.

The developer notices that when all the services are producing logs, ProvisionedThroughputExceededException errors occur during PutRecord requests. The stream metrics show that the write capacity the applications use is below the provisioned capacity.

How should the developer resolve this issue?

Show Suggested Answer Hide Answer
Suggested Answer: C

Partition Key Issue:

Using 'service name' as the partition key results in uneven data distribution. Some shards may become hot due to excessive logs from certain services, leading to throttling errors.

Changing the partition key to 'creation timestamp' ensures a more even distribution of records across shards.

Incorrect Options Analysis:

Option A: On-demand capacity mode eliminates throughput management but is more expensive and does not address the root cause.

Option B: Adding more shards does not solve the issue if the partition key still creates hot shards.

Option D: Using separate streams increases complexity and is unnecessary.


Kinesis Data Streams Partition Key Best Practices

Contribute your Thoughts:

Jamika
9 days ago
Option C? Really? Changing the partition key to the timestamp? That's like trying to put out a fire with gasoline.
upvoted 0 times
...
Lisbeth
10 days ago
Ah, the age-old problem of too many cooks in the kitchen. Option B is definitely the way to go, unless you want to end up with a 'Kinesis Data Streams Inferno' on your hands.
upvoted 0 times
...
Kasandra
13 days ago
I think changing the capacity mode to on-demand could be the most cost-effective solution.
upvoted 0 times
...
Judy
14 days ago
I believe using a separate Kinesis stream for each service could help.
upvoted 0 times
...
Silvana
15 days ago
I disagree, changing the partition key might be a better solution.
upvoted 0 times
...
Carma
16 days ago
I think option D is the way to go. Using separate streams for each service makes more sense than trying to fit everything into one stream.
upvoted 0 times
...
Leanna
17 days ago
The correct answer is B. Increasing the number of shards should resolve the throttling issues.
upvoted 0 times
...
Nicolette
28 days ago
I think the developer should double the number of shards.
upvoted 0 times
...

Save Cancel
az-700  pass4success  az-104  200-301  200-201  cissp  350-401  350-201  350-501  350-601  350-801  350-901  az-720  az-305  pl-300  

Warning: Cannot modify header information - headers already sent by (output started at /pass.php:70) in /pass.php on line 77