You are viewing a free preview of this lesson.
Subscribe to unlock all 10 lessons in this course and every other course on LearningBro.
DynamoDB's pricing and performance are governed by capacity modes. Understanding the difference between provisioned and on-demand capacity — and when to use each — is essential for controlling costs and avoiding throttling.
DynamoDB measures throughput in Read Capacity Units (RCUs) and Write Capacity Units (WCUs).
| Read Type | Item Size | RCUs Consumed |
|---|---|---|
| Strongly consistent | ≤ 4 KB | 1 RCU |
| Eventually consistent | ≤ 4 KB | 0.5 RCU |
| Transactional | ≤ 4 KB | 2 RCUs |
For items larger than 4 KB, DynamoDB rounds up to the next 4 KB boundary. A 6 KB strongly consistent read consumes 2 RCUs (rounded to 8 KB ÷ 4 KB = 2).
| Write Type | Item Size | WCUs Consumed |
|---|---|---|
| Standard | ≤ 1 KB | 1 WCU |
| Transactional | ≤ 1 KB | 2 WCUs |
A 2.5 KB write consumes 3 WCUs (rounded up to 3 KB).
Scenario: Your application performs 500 strongly consistent reads per second on items averaging 3 KB.
Each read: ⌈3 KB / 4 KB⌉ = 1 RCU
Total: 500 × 1 = 500 RCUs
Scenario: 200 eventually consistent reads per second on 9 KB items.
Each read: ⌈9 KB / 4 KB⌉ = 3 RCUs (strongly consistent)
Eventually consistent: 3 × 0.5 = 1.5 RCUs per read
Total: 200 × 1.5 = 300 RCUs
Scenario: 100 writes per second on 2 KB items.
Each write: ⌈2 KB / 1 KB⌉ = 2 WCUs
Total: 100 × 2 = 200 WCUs
In provisioned mode, you specify the number of RCUs and WCUs for your table. DynamoDB reserves that capacity, and you pay for it whether you use it or not.
You can enable Application Auto Scaling to adjust provisioned capacity automatically:
Target: 70%
Min RCUs: 100
Max RCUs: 5,000
If current utilisation = 90% → Auto Scaling increases RCUs
If current utilisation = 40% → Auto Scaling decreases RCUs
For steady-state workloads, you can purchase reserved capacity with a 1- or 3-year commitment:
| Commitment | Approximate Discount |
|---|---|
| 1-year, no upfront | ~20% |
| 1-year, partial upfront | ~25% |
| 3-year, all upfront | ~50% |
Reserved capacity is purchased in blocks of 100 WCUs or 100 RCUs.
DynamoDB retains up to 5 minutes of unused capacity as burst credits. If your application suddenly needs more throughput, burst credits are consumed first. Once burst credits are exhausted, requests are throttled (HTTP 400 ProvisionedThroughputExceededException).
In on-demand mode, DynamoDB instantly accommodates your workload as it ramps up or down. You pay per request — no capacity planning required.
| Operation | Cost |
|---|---|
| Write request unit | $1.25 per million |
| Read request unit | $0.25 per million |
| Storage | $0.25 per GB-month |
Subscribe to continue reading
Get full access to this lesson and all 10 lessons in this course.