Softwr

Software · head to head

CosmosDB vs DynamoDB

CosmosDB logo

CosmosDB

Software

Globally distributed, multi-model database service from Azure

From
Free
Rated
-
DynamoDB logo

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.

Attributes where CosmosDB and DynamoDB differ
AttributeCosmosDBDynamoDB
Starting priceFreeOn request
Free tierYesNo
PlatformsWeb, AzureAWS
Founded19752006

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 request

No 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

Other head to heads