At a glance
| Data model | Key-value and document: items addressed by partition key and optional sort key; 400 KB item limit |
| Query language | DynamoDB API (GetItem, Query, Scan) and a subset of PartiQL |
| Consistency model | Eventually consistent reads by default; strongly consistent reads on request (not on global secondary indexes) |
| Replication | Multi-AZ within a Region; global tables across Regions (MREC or MRSC) |
| Partitioning or sharding | Automatic, by partition key; no shards to manage |
| Transactions | ACID, up to 100 actions per transaction within one Region; not supported on MRSC global tables |
| Deployment and cloud availability | AWS only (managed); DynamoDB local for development and testing |
| Licensing | Proprietary pay-as-you-go service with a permanent monthly free tier |
| Pricing units | Read and write request units (on-demand) or capacity unit hours (provisioned), plus GB-month storage |
DynamoDB fits applications on AWS whose access patterns are known in advance and key-based, and whose owners want no servers, versions or patches to manage. The trade-offs are careful key design, a 400 KB item limit, transactions capped at 100 items, and a service that runs only on AWS; model costs with your own request volumes before committing.
Overview
Amazon DynamoDB is a NoSQL database service that AWS runs for you. You create tables rather than servers: each item is addressed by a partition key, optionally with a sort key, and can hold nested maps and lists. You read data with GetItem, Query and Scan, or with PartiQL, a SQL-compatible language of which DynamoDB supports a subset. Secondary indexes, Streams (item-level change records kept for 24 hours), TTL expiry, ACID transactions of up to 100 actions and point-in-time recovery for 1 to 35 days are all built in.
For multi-Region use, global tables replicate a table across Regions with every replica accepting writes. The default mode, multi-Region eventual consistency, resolves conflicts with last writer wins; multi-Region strong consistency (MRSC) replicates synchronously across exactly three Regions (three replicas, or two plus a witness) but does not support transactions, TTL or local secondary indexes. AWS states a 99.99% availability SLA for single-Region tables and 99.999% for global tables. Vector search, generally available since August 2026, stores embeddings in the same table.
Key features
- On-demand (pay per request) and provisioned (per capacity unit hour, with auto scaling and reserved capacity) modes, switchable per table
- Standard and Standard-Infrequent Access table classes to trade request cost against storage cost
- Global tables with a choice of multi-Region eventual or strong (MRSC) consistency, fixed at creation
- ACID transactions across items and tables, up to 100 actions per transaction
- DynamoDB Streams and Kinesis Data Streams change capture for event-driven designs with Lambda
- Point-in-time recovery with per-second granularity over a 1 to 35 day window, plus on-demand backups
- Native vector search (SearchVectors API, up to 4,096 dimensions) on on-demand tables since August 2026
Integrations and ecosystem
Pros and cons
Pros
- No servers, engine versions or maintenance windows to manage
- Two capacity modes and two table classes let you match billing to the traffic pattern
- Global tables with an option for strong consistency across three Regions
- Deep integration with Lambda, IAM, Streams and other AWS services
- Permanent free tier of 25 GB and 25 read and write capacity units per Region
Cons
- Runs only on AWS, so the data layer is tied to one cloud
- Queries must follow the key design: ad hoc queries, joins and aggregation need other services
- Items are limited to 400 KB and transactions to 100 actions in one Region
- Many features (backups, PITR, replication, Streams, DAX) are billed separately, which complicates cost estimates
Pricing
DynamoDB is billed per table with two capacity modes. On-demand (the default) charges per request: in US East (N. Virginia), Standard table class, the pricing page lists USD 0.625 per million write request units and USD 0.125 per million read request units, with storage at USD 0.25 per GB-month. A write unit covers up to 1 KB; a strongly consistent read unit covers up to 4 KB, an eventually consistent read costs half and a transactional read or write costs double. Provisioned mode bills per capacity unit per hour (USD 0.00065 per WCU-hour and USD 0.00013 per RCU-hour in the same Region), with optional auto scaling and 1- or 3-year reserved capacity. The Standard-IA table class lowers storage to USD 0.10 per GB-month but raises request prices. Backups, point-in-time recovery, global table replication, Streams reads, exports, DAX and cross-Region transfer are charged separately. The free tier gives 25 GB of storage and 25 provisioned WCUs and RCUs per month, per Region, with no time limit.
Pricing checked on the vendor's official page on 7 November 2026. Prices change; confirm before buying.
Who it is best for
Teams building on AWS with known, key-based access patterns (sessions, carts, user profiles, event records) who want a serverless database billed by use.
Typical use cases
- Session, shopping cart and user profile stores for web and mobile back ends
- Serverless APIs built with Lambda and API Gateway or AppSync
- High-volume event, order or device records accessed by key and time range
- Multi-Region active-active applications using global tables
- Retrieval for AI applications using vector search next to operational items
Who should look elsewhere
- Applications that need ad hoc SQL, joins and reporting on the operational data: see DynamoDB vs PostgreSQL.
- Teams that need to run the same database outside AWS, where MongoDB or Apache Cassandra is more portable.
Verdict
DynamoDB removes almost all database operations for AWS workloads and bills for what you use, which suits key-based access at any scale. It rewards up-front data modelling and penalises changing query needs, so teams with evolving queries or a multi-cloud requirement should compare a document database or Azure Cosmos DB before choosing.
Frequently asked questions
How is DynamoDB priced?
Per table, in on-demand mode by read and write request units (USD 0.125 and 0.625 per million in US East, Standard class) or in provisioned mode by capacity units per hour, plus storage per GB-month. Backups, replication, Streams and data transfer are extra, and prices vary by Region.
Is DynamoDB free?
There is a permanent free tier, per Region and payer account: 25 GB of storage and 25 provisioned write and 25 read capacity units per month, plus 2.5 million Streams read requests. Usage above it is billed.
Does DynamoDB support strong consistency across Regions?
Yes, with multi-Region strong consistency (MRSC) global tables, which must span exactly three Regions (three replicas, or two replicas and a witness) in a listed set of Regions. MRSC tables do not support transactions, TTL or local secondary indexes, and the mode cannot be changed after creation.
How does DynamoDB compare with Azure Cosmos DB?
Both are serverless-capable NoSQL services with multi-region replication. DynamoDB bills per request unit or capacity unit and runs only on AWS; Cosmos DB bills request units, offers several APIs (NoSQL, MongoDB, Cassandra, Gremlin, Table) and runs only on Azure. See our Azure Cosmos DB guide.
Sources
- Amazon DynamoDB pricing
- Amazon DynamoDB on-demand pricing
- Amazon DynamoDB features
- DynamoDB Developer Guide: How global tables work
- AWS What's New: DynamoDB vector search (August 2026)
- Amazon DynamoDB SLA
Checked November 2026.
Listed in: NoSQL & Distributed Databases.
How we research reviews and what star ratings mean: our editorial method.