nerdexam
Amazon

DAS-C01 · Question #24

A company launched a service that produces millions of messages every day and uses Amazon Kinesis Data Streams as the streaming service. The company uses the Kinesis SDK to write data to Kinesis…

The correct answer is C. Increase the number of shards in the stream using the UpdateShardCount API. D. Choose partition keys in a way that results in a uniform record distribution across shards. Kinesis Data Streams throttling on writes occurs when the write throughput exceeds shard capacity (each shard supports 1 MB/s or 1,000 records/s for writes). Two solutions address this: (C) Increasing the number of shards via the UpdateShardCount API directly increases total…

Collection

Question

A company launched a service that produces millions of messages every day and uses Amazon Kinesis Data Streams as the streaming service. The company uses the Kinesis SDK to write data to Kinesis Data Streams. A few months after launch, a data analyst found that write performance is significantly reduced. The data analyst investigated the metrics and determined that Kinesis is throttling the write requests. The data analyst wants to address this issue without significant changes to the architecture. Which actions should the data analyst take to resolve this issue? (Choose two.)

Options

  • AIncrease the Kinesis Data Streams retention period to reduce throttling.
  • BReplace the Kinesis API-based data ingestion mechanism with Kinesis Agent.
  • CIncrease the number of shards in the stream using the UpdateShardCount API.
  • DChoose partition keys in a way that results in a uniform record distribution across shards.
  • ECustomize the application code to include retry logic to improve performance.

How the community answered

(47 responses)
  • A
    9% (4)
  • B
    4% (2)
  • C
    72% (34)
  • E
    15% (7)

Explanation

Kinesis Data Streams throttling on writes occurs when the write throughput exceeds shard capacity (each shard supports 1 MB/s or 1,000 records/s for writes). Two solutions address this: (C) Increasing the number of shards via the UpdateShardCount API directly increases total write capacity proportionally - more shards means more aggregate throughput. This is a straightforward scaling action with minimal architectural change. (D) If partition keys are unevenly distributed, some shards become 'hot' (over-utilized) while others are underused. Choosing partition keys that uniformly distribute records across all shards ensures no single shard is bottlenecked, maximizing use of existing capacity. Option A (retention period) only affects how long data is stored, not write throughput. Option B (Kinesis Agent) uses the same PutRecords API underneath. Option E (retry logic) helps with transient errors but cannot solve sustained capacity exhaustion.

Topics

#Kinesis Data Streams#Throttling#Scalability#Partitioning

Community Discussion

No community discussion yet for this question.

Full DAS-C01 Practice