Avoiding Hot Partitions in DynamoDB: Use a High-Cardinality Partition Key
A DynamoDB table for a retail API has a partition key based only on the current date. Write throttling occurs during business hours. What is the best design change?
Quick Answer
The correct answer is to use a higher-cardinality partition key that distributes writes across partitions. This is because a partition key based solely on the current date creates a hot partition, where all write traffic for that day funnels into a single partition, exceeding its provisioned capacity and causing throttling. By combining the date with a high-cardinality attribute like a user ID or order ID, you ensure writes are spread evenly across many partitions, allowing DynamoDB to fully utilize its throughput. On the SAA-C03 exam, this scenario tests your understanding of partition design and write sharding, often appearing as a trap where candidates mistakenly suggest increasing read capacity instead of fixing the key. A common memory tip is “don’t date a hot partition—add a unique ID to spread the load.”
⚠ Common exam trap
It's easy for candidates to think a GSI can solve write throttling, but GSIs only help with read patterns and do not redistribute write load on the base table.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Use a higher-cardinality partition key that distributes writes across partitions
Using a partition key based solely on the current date creates a 'hot partition' because all writes for that day target the same partition, leading to throttling. A higher-cardinality partition key (e.g., combining date with a unique attribute like user ID or order ID) distributes write traffic evenly across multiple partitions, allowing DynamoDB to utilize its full throughput capacity and eliminating throttling.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✓
Use a higher-cardinality partition key that distributes writes across partitions
Why this is correct
A low-cardinality hot partition causes throttling; a better key spreads writes more evenly.
- ✗
Create a global secondary index with the same date key
Why it's wrong here
A GSI with the same hot key can suffer the same partition problem.
- ✗
Reduce the table's write capacity
Why it's wrong here
Reducing capacity worsens throttling.
- ✗
Move the table to S3 Glacier Instant Retrieval
Why it's wrong here
S3 Glacier is object storage and not a DynamoDB write scaling solution.
Go deeper
Related to this question
About these practice questions
One of 302 original SAA-C03 practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →
Same concept, more angles
3 more ways this is tested on SAA-C03
These questions test the same concept from different angles. Work through them to make sure you can recognise it however the exam phrases it.
Variation 1. A DynamoDB table for a retail API has a partition key based only on the current date. Write throttling occurs during business hours. What is the best design change? The architecture review board prefers a managed AWS-native control.
hard- ✓ A.Use a higher-cardinality partition key that distributes writes across partitions
- B.Create a global secondary index with the same date key
- C.Reduce the table's write capacity
- D.Move the table to S3 Glacier Instant Retrieval
Why A: Using only the current date as a partition key creates a hot partition because all writes for the day target a single partition, leading to throttling. A higher-cardinality partition key, such as a composite key combining date with a unique attribute like user ID or order ID, distributes writes evenly across multiple partitions, fully utilizing DynamoDB's provisioned throughput. This is the best managed-native solution to resolve write throttling without changing the table's capacity or moving data.
Variation 2. A DynamoDB table for a retail API has a partition key based only on the current date. Write throttling occurs during business hours. What is the best design change? The design must avoid adding custom operational scripts.
hard- ✓ A.Use a higher-cardinality partition key that distributes writes across partitions
- B.Create a global secondary index with the same date key
- C.Reduce the table's write capacity
- D.Move the table to S3 Glacier Instant Retrieval
Why A: Using only the current date as a partition key creates a 'hot partition' because all writes for the day target a single partition, exceeding its 1,000 WCU limit. A higher-cardinality partition key (e.g., combining date with user ID or order ID) distributes writes evenly across partitions, eliminating throttling without custom scripts.
Variation 3. A DynamoDB table for a retail API has a partition key based only on the current date. Write throttling occurs during business hours. What is the best design change? The team wants the control to be enforceable during normal operations.
hard- ✓ A.Use a higher-cardinality partition key that distributes writes across partitions
- B.Create a global secondary index with the same date key
- C.Reduce the table's write capacity
- D.Move the table to S3 Glacier Instant Retrieval
Why A: A is correct because using a partition key based solely on the current date creates a hot partition — all writes for a given day go to a single partition, causing throttling during peak hours. Increasing the partition key's cardinality (e.g., by appending a random suffix or a user ID) distributes writes evenly across multiple partitions, allowing DynamoDB to use its full write capacity without throttling. This design change is enforceable during normal operations because it modifies the data model rather than relying on temporary capacity adjustments.
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This SAA-C03 practice question is part of Courseiva's free Amazon Web Services certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the SAA-C03 exam.