Database & backend platform pricing
Updated · 7 comparisons
A managed database bill is really three bills stapled together: what you pay to store data, what you pay to compute against it, and what you pay to move data out of it. Traditional hosted Postgres bundles all three into one instance price. The newer serverless platforms on this page split them apart and bill each separately — which can be much cheaper at low, spiky usage, and much harder to predict at real scale.
Storage, compute, and egress — the three meters
Storage is usually the cheapest and most predictable line item, billed per GB-month regardless of how often you touch the data.
Compute is where serverless databases differ most from traditional ones. A serverless platform that scales to zero charges nothing while idle, but "waking up" a cold database adds latency to whoever's unlucky enough to make the first request after a quiet period — worth testing before you put anything latency-sensitive behind it.
Egress (data leaving the database, to your app or to the internet) is metered separately almost everywhere and is the line most likely to surprise you once real traffic shows up, exactly like the bandwidth trap on hosting platforms.
The costs specific to this category
Branching and preview databases. Several platforms here let you spin up an instant copy-on-write branch of your database for every pull request — powerful for testing, but each branch is itself a billable compute resource, and it's easy to accumulate a dozen forgotten branches that are quietly costing money months later.
Vector databases bill differently again. A vector store like the ones compared here typically charges per read/write operation and per GB of index stored, not per instance — so cost tracks your query volume and embedding size directly rather than a flat tier, which rewards light usage and punishes a busy production RAG pipeline in a way that's hard to estimate from the pricing page alone.
Connection limits. Serverless databases often cap concurrent connections tightly on entry-level tiers, which matters the moment you're running more than one backend service against the same database — a limit that has nothing to do with the advertised price but will break your app if you don't check it.
How to actually compare two platforms here
Estimate storage separately from compute separately from egress, at your real query volume, not a demo workload — a database that's nearly free at 10 requests a second can look completely different at 1,000. For anything serverless, specifically check the cold-start behavior and the connection limit on the tier you'd actually run, since neither shows up in the headline price. Every comparison below is checked against the vendor's own current pricing and dated.
Comparisons in this guide
- Baserow vs Supabase: Which pricing model fits your growing app? Baserow, Supabase verified 2026-09-18
- Pinecone vs Supabase: Which vector store and backend win the price battle? Pinecone, Supabase verified 2026-09-18
- WorkOS vs Supabase: Pay-per-feature vs tiered backend costs WorkOS, Supabase verified 2026-09-16
- Neon vs Supabase: Choosing the PostgreSQL Platform That Matches Your Budget and Workflow Neon, Supabase verified 2026-09-13
- ClickHouse Cloud vs Tinybird vs MotherDuck: analytical database pricing (and the end of cheap tiers) ClickHouse, Tinybird, MotherDuck verified 2026-09-08
- Upstash vs Redis Cloud vs Aiven: managed Redis pricing (2026) Upstash, Redis, Aiven verified 2026-09-08
- PlanetScale vs Neon vs Turso: serverless database pricing, and the death of the free tier PlanetScale, Neon, Turso verified 2026-09-23
Other pricing guides
- AI assistant & model pricing
- Business & finance ops software pricing
- Developer tool & hosting pricing
- Hosting & deployment pricing
- Marketing & analytics software pricing
- Monitoring & error tracking pricing
- Productivity & collaboration software pricing
- Security & privacy software pricing
Every figure on these pages is checked against the provider's own pricing and dated. The complete machine-readable dataset is on the data page.