Dynamodb medium
An application receives a `ProvisionedThroughputExceededException`. Why is 'Jittered Exponential Backoff' the standard industry recommendation for this error?
- A It generates a new session key for every retry to improve security.
- B Preventing Thundering Herds: By progressively increasing the wait time and adding randomness (jitter), it ensures that thousands of client instances don't all retry at the exact same millisecond, which would overwhelm the database again.
- C It allows the application to switch to a different AWS region automatically.
- D It clears the application's local RAM cache before each retry.
Answer: B. Preventing Thundering Herds: By progressively increasing the wait time and adding randomness (jitter), it ensures that thousands of client instances don't all retry at the exact same millisecond, which would overwhelm the database again.
Throttling is often a temporary result of a burst. If 1,000 containers hit the database at 12:00:00 and fail, and they all retry at 12:00:01, they will fail again. Jitter spreads the load over a wider time window, allowing the Provisioned (or Adaptive) capacity to handle the requests smoothly.
One system design question a day, with spaced repetition so the ones you miss come back.
Get the appRelated questions
- DynamoDB has a strict 400KB limit on the size of a single item. What is the recommended design pattern if you need to store larger documents (e.g., 5MB PDFs)?
- What is the primary role of the 'Partition Key' in ensuring DynamoDB's infinite horizontal scalability?
- Why is the `Query` operation generally preferred over `Scan` for production workloads in DynamoDB?
- DynamoDB is a 'fully managed' serverless database. What is a primary operational benefit of this model for an engineering team?
- In 'Provisioned Capacity' mode, how is the performance budget of a DynamoDB table defined?
- When would an architect choose to implement DAX (DynamoDB Accelerator) in front of an existing DynamoDB table?