Skip to main content

DynamoDB: Purchase Reserved Capacity

Updated over a week ago

Difficulty: Commitment

Description

DynamoDB tables in Provisioned Capacity mode with stable, predictable baseline throughput may benefit from Reserved Capacity purchases — offering up to 54% savings (1-year term) or 77% (3-year term) compared to on-demand provisioned rates. Reserved Capacity is a purely financial commitment that reduces the hourly RCU/WCU rate with no infrastructure changes.


Selection Criteria

  • The table is in Provisioned Capacity mode (not On-Demand).

  • The table uses the STANDARD table class — Standard-IA tables are not eligible for Reserved Capacity.

  • The account has at least 30 days of stable, consistent throughput usage to establish a reliable baseline.

⚠️ Warning — Conflict with Standard-IA recommendation

If a table is in Provisioned Capacity mode AND also qualifies for the Change Storage Type to Standard-IA recommendation, these two optimizations are mutually exclusive: Standard-IA tables cannot benefit from Reserved Capacity. Both recommendations must be surfaced simultaneously with their respective projected savings.


Expected Saving

Up to 54% savings on provisioned throughput (1-year term) or up to 77% (3-year term).

Recommended strategy: reserve 70–80% of the minimum daily usage observed over 30 days to avoid over-committing on capacity that may not always be used.

How it's calculated — example (RCU, us-east-1):

Sample usage data:

region

usage_type

avg_daily_units

max_daily_units

on_demand_cost/yr

us-east-1

RCU-Hrs

4,651

8,314

$52,230

us-east-1

WCU-Hrs

5,580

11,041

$22,776

Pricing comparison (us-east-1):

term

RCU hourly

RCU upfront/unit

WCU hourly

WCU upfront/unit

On-Demand

$0.00013

$0.00065

1-year Reserved

$0.000025

$0.30

$0.000128

$1.50

3-year Reserved

$0.000016

$0.36

$0.000081

$1.80

// Recommended reserved capacity = 70-80% of minimum → 4,600 RCU
Monthly on-demand cost = 4,651 × 24 × 30 × $0.00013 = $4,352.54
Monthly reserved hourly = 4,600 × 24 × 30 × $0.000025 = $828.00
Amortized upfront = (4,600 × $0.30) / 12 = $1,150.00
Excess on-demand = 51 × 24 × 30 × $0.00013 = $0.16
Total monthly reserved cost = $828.00 + $1,150.00 + $0.16 = $1,978.16
Monthly savings = $4,352.54 − $1,978.16 = $2,374.38
Annual savings = $2,374.38 × 12 = $28,492.56 (54.6%)

Operational Impact

Downtime: None — Reserved Capacity is a billing-layer change only. No infrastructure, performance, or availability impact.

Breaking change: None — no application code or configuration changes required.

Financial commitment ⚠️: Reserved Capacity is purchased upfront and charged whether used or not. Under-utilization directly results in wasted spend. Conservative commitment (70–80% of minimum usage) is strongly recommended.

Applies only to: Provisioned Capacity mode + STANDARD table class. On-Demand tables and Standard-IA tables are ineligible.

Recovery: Reserved Capacity cannot be cancelled after purchase. It can however be modified (resized) after the initial purchase within AWS console limits.


References:

Did this answer your question?