For a typical app workload (80% small reads, 20% writes, one secondary index), DynamoDB on-demand costs about $0.30 per million requests: $3 a month at 10 million, $300 at a billion. Aurora Serverless v2 bills for capacity whether or not requests arrive: $43.80 a month at its 0.5 ACU floor, $175 at 2 ACUs. A chart of where the lines cross, and npm data on which way teams are going.
DynamoDB on-demand
Aurora Serverless v2 at 0.5 ACU
Aurora Serverless v2 at 2 ACU
Monthly cost by request volume. DynamoDB: 80% eventually consistent reads of items up to 4 KB, 20% writes up to 1 KB with one index. Aurora: capacity held all month. US East prices: DynamoDB $0.125 per million reads and $0.625 per million writes; Aurora Serverless v2 $0.12 per ACU-hour, 730 hours. Storage and I/O excluded. Blank where we wouldn't expect that capacity to carry the load; size it by measuring.
Below about 150 million requests a month, DynamoDB on-demand is usually cheaper than any always-on database, and costs almost nothing when idle.
Aurora Serverless v2 can also pause at 0 ACU when idle, with a delay when the first request wakes it.
At a billion requests a month (about 380 a second on average), a small Postgres instance handling simple key lookups, which took 0.2 to 0.4 ms each in our benchmark, can be cheaper than DynamoDB.
Cost is rarely the deciding factor at small scale. The questions the data has to answer are.
Share of npm downloads: @aws-sdk/client-dynamodb against the two Postgres drivers (pg and postgres). Source: npm registry downloads API. Downloads, not apps.
Bring your request rates and item sizes; we'll model both and tell you what we'd run. Free, 30 minutes.
Once a month: what changed in tech that month and what it means for you, from cloud and AI to security and the tools you build with. Every item links to its source. No sales pitch, unsubscribe in one click.
Book a free 30-minute call about it. Bring your setup and your bill; you'll leave knowing what we'd do first and roughly what it costs, whether or not you hire us.
Or keep reading
DynamoDB vs Postgres, Measured: One Orders Dataset, Seven Questions, Three Sizes
We loaded the same orders into Postgres 17 and DynamoDB and asked seven questions at 100,000, 1 million and 5 million orders. Lookups by key stayed under 2 ms in Postgres at every size and cost half a read unit in DynamoDB. Every question across customers needed a full Scan in DynamoDB (about 40,000 read units per million orders), and took 0.02 to 1.6 seconds in Postgres. The numbers, and what they mean for choosing.
Read
When Postgres Outperforms DynamoDB: Five Situations, With Measurements
DynamoDB is excellent at the questions you designed it for. Postgres wins when the questions change: ad-hoc reports, joins, aggregates, filters on any column, and access patterns discovered after launch. Our benchmark: an unplanned query at 5 million orders took 1.2 s in Postgres and 50 ms after a 2-second index build; in DynamoDB it was a full Scan or a new index backfilled across every item.
Read
As of November 4, 2026. Provided as is, for general information, and accurate to the best of our knowledge on the date shown. Not legal, compliance, tax, financial or other professional advice. Prices, limits and vendor services change; check current vendor documentation before relying on anything here. Terms of use.