Skip to main content
Best Serverless Databases in 2026 (Compared)

Best Serverless Databases in 2026 (Compared)

KU
• 8 min read•Updated •224 views

A practitioner comparison of the leading serverless databases by use case, cold-start behavior, branching, pricing model, and lock-in.

Key takeaways

  • For most new apps in 2026 the best serverless database is Neon, Postgres that scales to zero and branches per pull request, billed at $0.106 per CU-hour on its Launch plan as of October 2026.
  • Use DynamoDB for key-value at any scale, Turso or Cloudflare D1 for edge SQLite reads, and Upstash for serverless Redis.

Start with Neon unless you have a reason not to: it is standard Postgres, scales to zero when idle, and branches a full database per pull request. DynamoDB is the pick for key-value access at any scale, Turso or D1 for read-heavy edge apps, and Upstash for serverless Redis. Everything else is a specialist.

Verified against

Neon, PlanetScale, Supabase, Aurora Serverless v2 (Aurora PostgreSQL 16.3+ / Aurora MySQL 3.08.0+ for auto-pause), CockroachDB Cloud, Turso, Cloudflare D1, DynamoDB and Upstash, against each vendor's official pricing pages and the AWS Aurora User Guide. Checked October 2026.

A serverless database is one you never size: it bills for requests, rows, or compute-seconds, scales capacity for you, and often drops to near-zero cost when idle. If you are still deciding whether you want one at all, read serverless vs traditional databases first.

The short list, side by side

Database (as of October 2026)EngineScales to zeroFree tierPricing unit
NeonPostgresYes; Free suspends after 5 min idle100 CU-hours and 1 GB per project$0.106/CU-hour + $0.35/GB-month (Launch)
PlanetScalePostgres, or MySQL on VitessNoNonePostgres from $5/month; Vitess from $39/month
SupabasePostgres plus auth, APIs, storageFree projects pause after 1 week idle2 active projects, 500 MB databasePro from $25/month
Aurora Serverless v2Postgres or MySQLYes, with 0-ACU auto-pauseNoACU-hours plus storage
CockroachDB Cloud StandardPostgres-compatible distributed SQLNo30-day trial, $400 credit$0.092/vCPU-hour + storage
TursoSQLite (libSQL)Usage-billed5 GB, 500M rows read/monthDeveloper from $4.99/month, billed yearly
Cloudflare D1SQLiteUsage-billed5 GB, 5M rows read/day$0.001/M rows read, $1.00/M rows written past included
DynamoDBKey-value and documentOn-demand, per request25 GB storage$0.125/M reads, $0.625/M writes (us-east-1)
Upstash RedisRedisPer command250 MB, 500K commands/month$0.20 per 100K commands

Serverless SQL: Neon, PlanetScale, Supabase

Neon splits compute from storage, which is what makes its headline features work. Compute suspends when idle and resumes on the next connection, so a staging environment costs almost nothing overnight. On the Scale plan the suspend window is configurable from 1 minute to always-on. Branching copies a full database instantly with copy-on-write: run migrations or a load test against the branch, then throw it away. Lock-in is low because pg_dump gets you out. The head-to-head is in Neon vs PlanetScale.

PlanetScale runs MySQL on Vitess, the sharding layer that carried YouTube, and now sells Postgres as well. It does not scale to zero and has no free tier, so there is a monthly floor: $5 for a single-node Postgres PS-5, $39 for the smallest three-node Vitess cluster, in AWS us-east-1. You get horizontal scale and online schema changes through deploy requests. Vitess constraints apply: cross-shard joins and foreign keys need care.

Supabase is Postgres wrapped with auth, generated REST and GraphQL APIs, row-level-security tooling, storage, and edge functions. You are buying a backend platform, which is the fastest path to a working app for a small team. Lock-in is low on the database and higher if you lean on auth and the generated APIs.

Distributed SQL: Aurora Serverless v2 and CockroachDB

Aurora Serverless v2 can set minimum capacity to 0 ACUs and auto-pause on Aurora PostgreSQL 16.3, 15.7, 14.12, 13.15 or later, or Aurora MySQL 3.08.0 or later. The idle window runs from 300 seconds to 86,400 seconds. Turning it on for an existing cluster is one call:

code
$ aws rds modify-db-cluster --db-cluster-identifier my-dev-cluster \
    --serverless-v2-scaling-configuration MinCapacity=0,MaxCapacity=8,SecondsUntilAutoPause=600
$ aws rds describe-db-clusters --db-cluster-identifier my-dev-cluster \
    --query 'DBClusters[*].ServerlessV2ScalingConfiguration|[0]'
{
    "MinCapacity": 0,
    "MaxCapacity": 8.0,
    "SecondsUntilAutoPause": 600
}

AWS documents a typical resume of about 15 seconds, and 30 seconds or more after a day paused, so this is for dev, test, and internal apps, not latency-sensitive paths.

CockroachDB Cloud speaks the Postgres wire protocol, distributes data across nodes, and survives zone failures without manual failover. As of October 2026 the Standard tier bills per vCPU-hour, so treat it as autoscaling, not scale-to-zero. Both are the answer when losing a single primary is unacceptable.

Edge SQLite, NoSQL, and Redis

Turso and Cloudflare D1 both put SQLite near your users and bill on rows read and written. Writes go to one primary, so they shine for read-dominated workloads; D1 is the natural pick inside Workers, and Turso's embedded replicas serve reads from a local file anywhere else. Watch D1's free write cap: 100,000 rows written per day.

DynamoDB is the default serverless NoSQL store: on-demand capacity, single-digit-millisecond reads at any scale, as long as you design keys around your access patterns. Lock-in is high; the data model and API don't port. Upstash fills the Redis slot with per-command billing, which suits caches and rate limiters called from serverless functions.

The trade-offs nobody escapes

Cold starts: anything that scales to zero pays a wake penalty on the first request. Fine for staging, worth measuring on production paths.

Connections: serverless functions open a connection per invocation and can exhaust Postgres fast. Use the vendor's HTTP driver or a pooler like PgBouncer. Neon's serverless driver over HTTP:

JavaScript
// lib/db.js
import { neon } from '@neondatabase/serverless';

const sql = neon(process.env.DATABASE_URL);

export const activeUsers = () => sql`
  SELECT id, email FROM users WHERE active = true LIMIT 20
`;

There is no long-lived TCP socket to leak from a Lambda or an edge function.

Egress: cross-region reads and heavy result sets add up. Neon's Scale plan charges $0.10/GB of public egress past 500 GB per project. Keep compute and data in the same region.

The failure modes, by error

  • FATAL: sorry, too many clients already (any Postgres): functions opened more connections than the server allows. Switch to the HTTP driver or the pooled connection string.
  • Connection timeouts right after idle (Aurora, Neon): the first request hit a paused instance. Raise client connect timeouts past 15 seconds for Aurora (30 if it sleeps more than a day) and add retry logic, which AWS recommends.
  • Aurora never pauses: an open session, an RDS Proxy, logical or binlog replication, or a global database primary keeps the writer awake. Check DatabaseConnections in CloudWatch.
  • pg_cron jobs silently skipped (Aurora): a paused instance does not wake for scheduled jobs; they are dropped, not queued.
  • ProvisionedThroughputExceededException or ThrottlingException (DynamoDB): a hot partition key. On-demand does not fix a bad key design.

Where this breaks

Scale-to-zero pricing only wins while a database is mostly idle. A production Postgres busy around the clock bills compute every hour, and a provisioned instance with a reserved discount can come out cheaper. Usage-billed engines also turn a bad query into a bad invoice: a full table scan on D1 or Turso is billed per row read. And none of these lists help with compliance needs like a specific region or private networking, which vary by plan; check that before price.

Questions people ask

What is a serverless database?

A serverless database is a managed database you never size or patch: the provider scales capacity with load and bills by usage, such as compute-hours, rows read, or requests, instead of a fixed instance. Many scale to zero when idle. Neon, Aurora Serverless v2, DynamoDB on-demand, Turso, Cloudflare D1, and Upstash all fit; PlanetScale is managed but bills by cluster size.

Does Aurora Serverless v2 scale to zero?

Yes, on supported engine versions. Set the cluster's minimum capacity to 0 ACUs and instances auto-pause after an idle window you choose, from 300 seconds to one day. You pay nothing for instance capacity while paused, though storage still bills. AWS says resume typically takes about 15 seconds, longer after 24 hours paused, so raise client connection timeouts accordingly.

How do I pick a reliable serverless database for production?

Match the engine to the access pattern first: Postgres for relational data, DynamoDB for key-value at scale. Then check three things: the cold-start time if it scales to zero, whether it has an HTTP driver or pooler for serverless functions, and whether you can export your data with standard tools. Neon and Aurora pass all three for Postgres.

The decision, concretely

Match the workload, not the hype; the broader framework across engines is in choosing the right database for your workload.

  • Postgres with scale-to-zero and preview branches? Neon.
  • MySQL that must scale past a single primary? PlanetScale.
  • A full backend fast, with a small team? Supabase.
  • Global reads with low latency? Turso, or D1 on Workers.
  • Key-value at scale? DynamoDB. Serverless Redis? Upstash.

The call we'd make

For most new applications in 2026, start with Neon: standard Postgres keeps your options open, scale-to-zero keeps early costs near nothing, and branch-per-pull-request is a better dev workflow. If you already know you are MySQL-shaped and heading for real scale, start on PlanetScale and skip the migration. Go edge-first only when read latency to a global audience is the product requirement, and confirm current prices yourself before building the bill into your model.

Sources

Explore topics:Cloud
React
Share this post
Cite this article
Plain text

Kiril Urbonas (2026). Best Serverless Databases in 2026 (Compared). DevOpsNess. Updated 2026-10-31. https://www.devopsness.com/blog/best-serverless-databases

Markdown

[Best Serverless Databases in 2026 (Compared)](https://www.devopsness.com/blog/best-serverless-databases) (Kiril Urbonas, DevOpsNess, updated 2026-10-31)

KU

Kiril Urbonas

AI Engineer

585 articles
View all articles by Kiril Urbonas

You might have missed

Evergreen posts worth revisiting.