サーバーレス時代の新しいデータベースとして、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を使い分けることで、開発スピードと運用コストの両立が実現します。