Inefficient Use of On-Demand Capacity in DynamoDB
Ohad Shalev
Database
Cloud Provider
AWS
Service Name
Amazon DynamoDB
Inefficiency Type
Inefficient Configuration
Explanation

While On-Demand mode is well-suited for unpredictable or bursty workloads, it is often cost-inefficient for applications with consistent throughput. In these cases, shifting to Provisioned mode with Auto Scaling allows teams to set a baseline level of capacity and scale incrementally as needed—often yielding substantial cost savings without compromising performance.

Relevant Billing Model

DynamoDB charges for reading, writing, and storing data, along with optional features like backups and global tables. It offers two pricing options:

  1. On-Demand Capacity Mode:
    • Serverless option with pay-per-request pricing and automatic scaling.
    • Billed per read or write request consumed.
  2. Provisioned Capacity Mode:
    • Charges based on hourly read and write capacity provisioned, regardless of actual consumption.
    • Supports Auto Scaling to dynamically adjust capacity based on demand.
Detection
  • Identify DynamoDB tables configured to use On-Demand capacity mode
  • Review historical read/write activity for patterns of consistent or gradually increasing traffic
  • Evaluate whether the workload exhibits steady throughput, such as regular API usage, background jobs, or scheduled data processing
  • Assess whether a baseline level of provisioned capacity would meet typical demand, with Auto Scaling used to accommodate occasional fluctuations
  • Check for any operational, architectural, or application-level dependencies that could be affected by switching capacity modes (e.g., throttling behavior, performance expectations)
  • Ensure that cost savings would be meaningful and achievable based on current usage trends and capacity planning assumptions
Remediation

For workloads with predictable usage patterns, transition the table to Provisioned capacity mode and enable Auto Scaling to dynamically adjust throughput within configured limits. This approach preserves performance while reducing cost relative to On-Demand pricing.

Relevant Documentation