What are DynamoDB table classes?
DynamoDB offers two table classes designed to help you optimize for cost: Standard and Standard-Infrequent Access (Standard-IA).1 Each table class offers different pricing for data storage, read requests, and write requests. The table class you choose applies to the entire table and all its secondary indexes—you cannot mix table classes within a single table.
Table class comparison
| Feature | Standard | Standard-IA |
|---|---|---|
| Storage cost | Base rate | ~60% lower than Standard |
| Read/Write cost | Base rate | ~25% higher than Standard |
| Best for | Throughput-dominant workloads | Storage-dominant workloads |
| Reserved capacity | Supported | Not supported |
Key principle: Standard-IA trades higher per-request costs for dramatically lower storage costs.2
When to use each table class
Use Standard table class when
Storage represents less than 50% of your total monthly DynamoDB cost. This indicates a workload that regularly accesses or updates stored data.3
Typical use cases:
- Active user sessions or shopping carts
- Real-time analytics or dashboards
- High-velocity transaction tables
- Gaming leaderboards and active player data
- IoT telemetry for current devices
- Tables with frequent reads and writes
Use Standard-IA table class when
Storage represents more than 50% of your total monthly DynamoDB cost. This indicates data that is created and retained but rarely accessed.3
Typical use cases:
- Application logs and audit trails
- Order history and transaction archives
- Old social media posts or comments
- Past gaming achievements and historical scores
- Compliance data with long retention requirements
- Infrequently accessed reference data
- Customer interaction history
Cost savings with Standard-IA
Storage cost reduction
Standard-IA delivers ~60% lower storage costs compared to Standard, making it ideal for tables storing large volumes of rarely-accessed data.2
Example: 1TB of infrequently accessed data
Using approximate us-east-1 pricing:
| Table Class | Storage Cost/GB/Month | 1TB Monthly Storage Cost | Annual Storage Cost |
|---|---|---|---|
| Standard | $0.25 | $250 | $3,000 |
| Standard-IA | $0.10 | $100 | $1,200 |
| Savings | - | $150/month | $1,800/year |
Throughput cost impact
Standard-IA charges ~25% more per read/write request than Standard.3 The break-even point depends on your storage-to-throughput ratio.
Switching between table classes
Key facts about switching
- No downtime: Your table remains fully available during the switch1
- No code changes: Your application continues to work without modifications1
- Background process: The switch happens asynchronously; time depends on table size and traffic4
- Change limit: Maximum 2 table class changes per 30-day period4
- Applies to indexes: All GSIs and LSIs inherit the new table class1
Limitations and considerations
Reserved capacity
Standard-IA tables do not support reserved capacity.3 If you currently use reserved capacity with Standard tables, switching to Standard-IA means you’ll lose that discount.
Recommendation: If you have significant reserved capacity commitments, stay on Standard until the reservation expires, then reevaluate.
Global tables
Both Standard and Standard-IA support global tables, but remember:
- All replicas must use the same table class1
- Changing table class affects all regions simultaneously
- Replication costs (rWCUs) scale with your throughput, not your table class
Table class changes take time
The table class update is a background process that doesn’t block table operations.4 However:
- Large tables (hundreds of GB or more) may take hours to complete
- You can monitor progress in the console or via
DescribeTableAPI - No more than 2 changes allowed per 30-day period4
Design strategies for cost optimization
Strategy 1: Separate hot and cold data
Instead of mixing frequently and infrequently accessed data in one table, split them into separate tables with different table classes.
Example: E-commerce order system
Orders table (Standard):
- Recent orders (last 90 days)
- High read/write activity
- Supports real-time order tracking
OrderHistory table (Standard-IA):
- Orders older than 90 days
- Rare reads (customer account history, tax reporting)
- Lower storage costs for millions of historical orders
Strategy 2: Use TTL before archiving
Combine Time to Live (TTL) with Standard-IA to automatically clean up expired data while keeping important data cheap.
Strategy 3: Start with Standard, optimize later
For new tables, start with Standard until you have real cost data:
- Launch: Create table with Standard class
- Monitor: Track costs for 1-3 months using Cost Explorer
- Analyze: Calculate storage vs throughput ratio
- Optimize: Switch to Standard-IA if storage > 50% of costs
This approach avoids premature optimization and lets actual usage patterns guide your decision.
Does Standard-IA affect performance?
No. Standard-IA offers the same performance, durability, and availability as Standard tables.4 Both classes:
- Support the same read/write throughput
- Provide single-digit millisecond response times
- Offer 99.99% availability (99.999% for global tables)
- Use the same partition architecture
Resources
- DynamoDB Table Classes Documentation
- Amazon DynamoDB Standard-IA
- Considerations when choosing a table class
- Evaluate your table class selection
- Optimizing storage costs with Standard-IA (AWS Blog)