DAS-C01 · Question #143
A manufacturing company has many loT devices in different facilities across the world. The company is using Amazon Kinesis Data Streams to collect the data from the devices. The company's operations…
The correct answer is B. Increase the number of shards. To resolve WriteThroughputExceeded exceptions in Amazon Kinesis Data Streams caused by too many records being written, the most direct action is to increase the stream's overall capacity.
Question
A manufacturing company has many loT devices in different facilities across the world. The company is using Amazon Kinesis Data Streams to collect the data from the devices. The company's operations team has started to observe many WnteThroughputExceeded exceptions. The operations team determines that the reason is the number of records that are being written to certain shards. The data contains device ID capture date measurement type, measurement value and facility ID. The facility ID is used as the partition key. Which action will resolve this issue?
Options
- AChange the partition key from facility ID to a randomly generated key
- BIncrease the number of shards
- CArchive the data on the producers' side
- DChange the partition key from facility ID to capture date
How the community answered
(38 responses)- A11% (4)
- B82% (31)
- C5% (2)
- D3% (1)
Why each option
To resolve WriteThroughputExceeded exceptions in Amazon Kinesis Data Streams caused by too many records being written, the most direct action is to increase the stream's overall capacity.
Changing the partition key to a randomly generated key helps distribute data more evenly across *existing* shards to prevent hot shards. While good for skew, it does not increase the *total* throughput capacity of the stream if the overall data volume exceeds the current shard capacity.
Amazon Kinesis Data Streams capacity is directly tied to the number of shards, with each shard supporting a specific write throughput. Increasing the number of shards increases the stream's total write capacity, allowing it to handle a higher volume of incoming data and mitigate WriteThroughputExceeded exceptions, even if some data is skewed across partitions.
Archiving data on the producers' side refers to managing data retention at the source application, which has no impact on the Kinesis Data Streams' ingestion throughput limits or its ability to handle incoming records.
Changing the partition key to `capture date` would likely worsen the issue as all records for a given date would be directed to a limited number of shards, leading to severe data skew and concentrated throughput bottlenecks.
Concept tested: Kinesis Data Streams scaling and throughput
Source: https://docs.aws.amazon.com/kinesis/latest/dev/kinesis-troubleshooting.html
Topics
Community Discussion
No community discussion yet for this question.