Serverless databases, ranked by cold honesty

Neon, PlanetScale, Turso, DynamoDB and Cloudflare D1 ranked on what serverless pricing actually does to a normal app's bill.

The bench2 min readDatabases

Ranked bars of serverless database monthly cost at steady versus spiky load

"Serverless database" means the bill follows traffic. For spiky traffic that's a discount; for steady traffic it's a markup with extra steps. DynamoDB wins the category it invented, Neon wins the Postgres bracket, and the skip is picking any of these for a boring CRUD app with predictable load.

Criteria: pricing legibility 35%, behavior at steady load 25%, scale- to-zero reality 25%, lock-in 15%. List prices as of May 2026.

The table

RankDatabaseModelWatch for
1DynamoDBper-request or provisionedaccess patterns are forever
2Neoncompute-seconds + storageautosuspend cold starts
3Tursoper-row-read generositySQLite semantics at the edge
4PlanetScalerows read/writtenno foreign keys, by design
5Cloudflare D1per-query, cheapyoung, and SQLite-shaped

Steady load is the tell

Price a modest API at a constant 50 requests per second and the serverless premium appears: request-metered pricing lands near or above a $50 fixed instance that would handle it while idle. Run the same math at 1% duty cycle (internal tools, side projects, staging) and serverless is nearly free. Neither vendor lies; the workload decides. Do the duty-cycle math before the brand comparison.

DynamoDB stays first because at both ends of that curve its pricing is legible and its operational surface is zero. The cost is paid elsewhere: you design tables around access patterns, and changing your mind later is a migration project. That trade is famous, real, and still worth it for key-value shaped data.

Neon's scale-to-zero is real with a caveat this site keeps repeating: cold starts on the free and small tiers are hundreds of milliseconds. Fine for previews (their branching is still the best dev workflow in databases), noticeable on a customer-facing p99.

The skip

Serverless pricing for steady production load you can already graph. If your traffic chart is a flat line with office-hours bumps, a provisioned instance from the managed Postgres ranking costs less and removes a failure mode (the surprise bill) for free. Serverless databases are a brilliant answer to variable load and a markup on boring load, and most production load is boring. That's not an insult. Boring pays the invoices.