Skip to content

Database Options

Detailed comparison of database services that support branching for forkstack.

Overview

forkstack requires a database that supports instant branching or forking. This enables zero-copy environment creation.

Database Engine Branching Free Tier Best For
Turso SQLite Native 500 DBs, 9GB Most projects
Neon Postgres Native 3GB, 100hrs Postgres features
PlanetScale MySQL Native 5GB, 1B reads MySQL teams
Supabase Postgres Newer 500MB, 2 projects Realtime/Auth

Turso

SQLite with edge replication and instant branching.

Setup

# Install CLI
brew install chiselstrike/tap/turso

# Authenticate
turso auth login

# Create database
turso db create myproject

# Create branch
turso db create myproject-dev --from-db myproject

Pros

  • Simplest setup and mental model
  • SQLite is familiar and well-documented
  • Branches are instant and free
  • Edge replicas for low latency
  • No connection pooling needed

Cons

  • SQLite limitations (limited concurrency for writes)
  • Smaller ecosystem than Postgres/MySQL
  • Less suitable for high-write workloads

Pricing

  • Free: 500 databases, 9GB storage, 1B reads/month
  • Pro: $29/month for more

Neon

Serverless Postgres with branching and autoscaling.

Setup

# Install CLI
npm install -g neonctl

# Authenticate
neonctl auth

# Create project
neonctl projects create --name myproject

# Create branch
neonctl branches create --name dev

Pros

  • Full Postgres compatibility
  • Powerful branching with point-in-time restore
  • Autoscaling to zero
  • Large ecosystem

Cons

  • More complex than SQLite
  • Connection pooling often needed
  • Cold starts on scale-to-zero

Pricing

  • Free: 0.5GB storage, 100 compute hours/month
  • Pro: $19/month base + usage

PlanetScale

MySQL-compatible database built on Vitess.

Setup

# Install CLI
brew install planetscale/tap/pscale

# Authenticate
pscale auth login

# Create database
pscale database create myproject

# Create branch
pscale branch create myproject dev

Pros

  • MySQL compatibility
  • Excellent branching workflow
  • Built-in schema migrations
  • Good for high-read workloads

Cons

  • Some MySQL features not supported (foreign keys need workarounds)
  • Vitess abstractions can be confusing
  • Pricing can increase quickly

Pricing

  • Free: 5GB storage, 1B reads, 10M writes/month
  • Scaler: $29/month + usage

Supabase

Postgres with built-in auth, realtime, and storage.

Setup

# Install CLI
npm install -g supabase

# Login
supabase login

# Create project (via dashboard)
# Create branch
supabase db branch create dev

Pros

  • Full Postgres compatibility
  • Built-in auth, realtime, storage
  • Good admin UI
  • Growing ecosystem

Cons

  • Branching is newer/less mature
  • More opinionated than raw Postgres
  • Can be overkill for simple projects

Pricing

  • Free: 500MB, 2 projects
  • Pro: $25/month per project

Choosing a Database

Do you need...
├── Simplicity + edge performance → Turso
├── Full Postgres features → Neon
├── MySQL compatibility → PlanetScale
└── Auth + Realtime built-in → Supabase

See Choosing a Stack for the full decision tree.