Software · head to head
CosmosDB vs DynamoDB
CosmosDB
Software
Globally distributed, multi-model database service from Azure
- From
- Free
- Rated
- -

DynamoDB
Software
Fast, flexible NoSQL database service for any scale
- From
- On request
- Rated
- -
The short version
- Only CosmosDB has a free tier, so it costs nothing to try first.
- Each has a real cost: CosmosDB autoscale provisioned throughput enforces a minimum of 1,000 RU/s, billed hourly whether or not the database is used; DynamoDB noSQL-only; does not support complex relational queries or SQL joins
- They diverge on capability: CosmosDB covers Global Distribution, DynamoDB covers Single-digit Millisecond Latency.
Where they differ
Only the attributes on which CosmosDB and DynamoDB actually diverge.
Identical on both: pricing model (usage-based), user rating (Not yet rated), category (Unknown).
What each one covers
Drawn from each product's published feature list. An absence here means we hold no record of it - not that the product lacks it.
Only in CosmosDB
- Global Distribution
- Multi-model APIs
- Elastic Scaling
- Five Consistency Levels
- SLA-backed Latency
- Automatic Indexing
- Azure Functions
- Logic Apps
Only in DynamoDB
- Single-digit Millisecond Latency
- Auto-scaling
- Global Tables
- Point-in-time Recovery
- Encryption
- Streams
- Lambda
- API Gateway
Both cover
- Serverless
- Web support
What people use each for
The jobs each tool is most often brought in to do.
CosmosDB
- Running a globally distributed multi model database on Azurenot DynamoDB
- Serving low latency reads and writes from multiple Azure regionsnot DynamoDB
- Storing document, key value and graph data behind a managed servicenot DynamoDB
DynamoDB
- High-scale, variable-workload applicationsnot CosmosDB
- Mobile and IoT device backendsnot CosmosDB
- Real-time analytics and dashboardsnot CosmosDB
- Multi-region, globally distributed applicationsnot CosmosDB
Where each one falls short
Documented limitations, not opinions. Every one is a constraint you would hit in normal use.
CosmosDB
- Autoscale provisioned throughput enforces a minimum of 1,000 RU/s, billed hourly whether or not the database is used
- Provisioned throughput is charged in every region the account is replicated to, so multi region accounts multiply the RU bill
- Storage charges cover data, indexes and backups in each replicated region
- Egress out of Azure and between regions is charged, though ingress is free
- The free allowance is one account per Azure subscription, limited to 1,000 RU/s and 25 GB
- RU/s rates vary by region and are only shown through the pricing calculator rather than a flat published rate
DynamoDB
- NoSQL-only; does not support complex relational queries or SQL joins
- Limited query flexibility; requires thinking in terms of keys and indexes rather than ad-hoc queries
Pricing, plan by plan
CosmosDB
Free- Free TierFree
- 1000 RU/s
- 25GB storage
- First 12 months
- ServerlessFree
- Pay per request
- Auto-scaling
- Event-driven workloads
DynamoDB
On requestNo published plan breakdown. See the DynamoDB review.
Which should you pick?
Choose CosmosDB if
- You need global distribution.
- You want to start without paying.
- You work on Web, Azure.
- You also want multi-model apis.
Choose DynamoDB if
- You need single-digit millisecond latency.
- You work on AWS.
- You also want auto-scaling.
Questions people ask
- Is CosmosDB or DynamoDB better?
- Neither clearly leads. CosmosDB starts at Free and DynamoDB at On request, and user ratings are close enough to be indistinguishable. Choose on capability and platform support.
- Which is cheaper, CosmosDB or DynamoDB?
- CosmosDB has a free tier; the other does not. Paid plans start at Free for CosmosDB and On request for DynamoDB.
- Does CosmosDB or DynamoDB run on more platforms?
- CosmosDB runs on Web, Azure. DynamoDB runs on AWS.
- Can I use CosmosDB for free?
- Yes. CosmosDB has a free tier, so you can try it without paying. DynamoDB starts at On request.
- What is CosmosDB best used for?
- CosmosDB is most often used for running a globally distributed multi model database on azure, serving low latency reads and writes from multiple azure regions, storing document, key value and graph data behind a managed service. Of those, running a globally distributed multi model database on azure and serving low latency reads and writes from multiple azure regions are not what DynamoDB is typically brought in for.
- What can CosmosDB do that DynamoDB cannot?
- CosmosDB covers Global Distribution, Multi-model APIs, Elastic Scaling, Five Consistency Levels. DynamoDB covers Single-digit Millisecond Latency, Auto-scaling, Global Tables, Point-in-time Recovery. Both handle Serverless, Web support.
Related pages
Keep looking
Other head to heads
- CosmosDB vs Cockroach Labs
- CosmosDB vs PostgreSQL
- CosmosDB vs Airtable
- CosmosDB vs Amazon Aurora
- CosmosDB vs Elasticsearch
- CosmosDB vs PlanetScale
- CosmosDB vs Azure SQL
- CosmosDB vs ClickHouse
- CosmosDB vs Couchbase
- CosmosDB vs DuckDB
- CosmosDB vs MariaDB
- CosmosDB vs Oracle Database
- CosmosDB vs Amazon RDS
- CosmosDB vs Amazon Redshift
- CosmosDB vs Apache Druid
- CosmosDB vs Cassandra
- CosmosDB vs CouchDB
- CosmosDB vs Firebolt
- DynamoDB vs Cockroach Labs
- DynamoDB vs PostgreSQL
- DynamoDB vs Airtable
- DynamoDB vs Amazon Aurora
- DynamoDB vs Elasticsearch
- DynamoDB vs PlanetScale
- DynamoDB vs Azure SQL
- DynamoDB vs ClickHouse
- DynamoDB vs Couchbase
- DynamoDB vs DuckDB
- DynamoDB vs MariaDB
- DynamoDB vs Oracle Database
- DynamoDB vs Amazon RDS
- DynamoDB vs Amazon Redshift
- DynamoDB vs Apache Druid
- DynamoDB vs Cassandra
- DynamoDB vs CouchDB
- DynamoDB vs Firebolt
