PlanetScale/Neon/Turso比較|サーバーレスDBの選び方

インフラ・クラウド

サーバーレス時代の新しいデータベースとして、PlanetScale・Neon・Tursoの3つが注目されています。それぞれMySQL/PostgreSQL/SQLite系の選択肢で、サーバー管理不要・自動スケール・ブランチ機能などモダンな特徴を備えています。本記事では、3サービスを比較し選び方を解説します。

3サービスの概要

  • PlanetScale:MySQL互換(Vitess基盤)。スキーマブランチ機能が秀逸
  • Neon:PostgreSQL互換。ストレージとコンピュートを分離した独自設計
  • Turso:SQLite互換(libSQL)。エッジに近い場所にデータを置く

項目別比較

DBエンジン

  • PlanetScale:MySQL(Vitess)
  • Neon:PostgreSQL
  • Turso:SQLite(libSQL)

スケール特性

  • PlanetScale:水平スケール(sharding)に強い
  • Neon:自動スケール+スケールtoゼロでコスト効率
  • Turso:エッジレプリカで読み取りを世界中で高速化

ブランチ機能

  • PlanetScale:本番DBから分岐したスキーマブランチ・マージリクエスト
  • Neon:データつきのDBブランチ(コピー・オン・ライト)
  • Turso:DBごとに簡単に複製可能

料金

  • 無料枠は3サービスとも実用的
  • 本番運用では用途・トラフィックで大きく変動
  • Neonはスケールtoゼロでアイドル時のコストを抑えられる

典型的なユースケース

  • PlanetScale:既存MySQLからの移行、大規模スキーマ管理
  • Neon:Next.js + Prisma構成、開発環境を頻繁にブランチで分けたい
  • Turso:エッジAPI、読み取り中心のグローバル展開

サンプル接続コード

// Neon + Prisma
datasource db {
  provider = "postgresql"
  url      = env("DATABASE_URL")
}

// Turso(libSQL)
import { createClient } from '@libsql/client';
const db = createClient({ url: 'libsql://my.turso.io', authToken: '...' });
await db.execute('SELECT * FROM posts');

選び方の指針

  • PostgreSQL派・Prisma主体:Neon
  • MySQLからのモダン化:PlanetScale
  • エッジ実行・グローバル展開:Turso
  • 個人開発・低コスト:Neon(スケールtoゼロが強い)

注意点

  • サーバーレスDBは「接続プーリング」が重要(Prisma Accelerate等)
  • レイテンシは「DBとアプリのリージョン」を一致させる
  • 書き込み中心ならスケール特性をベンチで確認

まとめ

サーバーレスDBは、運用負荷を最小化しながらモダンな機能(ブランチ・自動スケール)を享受できる選択肢です。用途に応じてPlanetScale / Neon / Tursoを使い分けることで、開発スピードと運用コストの両立が実現します。