個人開発向け無料 RDB サービスまとめ 2023 年版

はじめに

最近、個人開発する上で DB の選択肢が多く、技術選定をする際に割りと頭を悩ます問題だと思う。この記事では、いくつかのサービスをピックアップして、それぞれの概要やコスト感、機能、制約などをまとめてみる。

あくまでも自分が個人開発に際して技術選定の材料とするもの。

今回対象にするサービス一覧

今回は以下の DB サービスをピックアップして紹介する。 料金などについては、更新が入るかもしれないので 2023 年末の情報ということに留意していただければと思う。(それぞれ公式のリンクを添えておくので、そこから詳細を確認してもらえればmm)

  • Neon
  • Planetscale
  • Render.com
  • Supabase
  • Vercel Storage
  • 候補に上がらなかったサービス
    • Cloudflare D1
    • Heroku

また、選んだ基準としては以下の 2 点を優先している。

  • 無料で使用できるプランがあるか
  • RDB を使用できるか

Neon

Neon は AWS Aurora Postgres に代わるサーバーレス DB を目指して開発されている OSS。ストレージとコンピューティングリソースを分離したアーキテクチャを採用したフルマネージドな PostgreSQL。

Neon Serverless Postgres — Ship faster
The database you love, on a serverless platform designed to help you build reliable and scalable applications faster.
Neon Serverless Postgres — Ship faster favicon neon.tech
Neon Serverless Postgres — Ship faster
  • 料金
    • Free プランあり
      • 1 Project のみ
  • ストレージ容量
    • Free プランの場合、ブランチ(後述)1 つにつき 3GiB
  • スペック
    • Compute Units (CU) で表現される。1CU は 1vCPU, 4GB メモリ。
    • 無料枠では 0.25CU(1vCPU, 1GB メモリ)
  • その他提供されている機能や情報
    • ブランチ機能 - ref. Branching - Neon Docs
      • GitHub のブランチのようにデータを任意の時点で分岐できる機能。
      • Free プランの場合、ブランチは 10 個まで作れて、ブランチ一つにつき容量としては 3GiB。
    • Console - ref. Neon console
      • Console と呼ばれるブラウザでアクセスできるダッシュボードが提供されていて、モニタリング情報が見れたり、SQLEditor から SQL を直接実行できたり、かなり便利。
    • 使用できる PostgreSQL のバージョン - ref. Postgres versions - Neon Docs
      • 14, 15, 16 が使える。デフォルトでは 15 が選択される。
  • 注意点
    • 現在は日本リージョンはなく、一番近くてシンガポールになる(aws-ap-southeast-1)- ref. リージョン

参考記事、関連サイト

Hasuraの後ろのHerokuのPostgresqlの無料枠が切れるのでNeonに切り替えたメモ - Qiita
概要2022/11/28をもって、HerokuのPostgresの無料枠がなくなる。HasuraのバックエンドとしてHerokuを使っていたので、代替となるものを探して引っ越しする。ワンコイン…
Hasuraの後ろのHerokuのPostgresqlの無料枠が切れるのでNeonに切り替えたメモ - Qiita favicon qiita.com
Hasuraの後ろのHerokuのPostgresqlの無料枠が切れるのでNeonに切り替えたメモ - Qiita

Planetscale

スケール、パフォーマンス、信頼性を実現する MySQL 互換のマネージドでサーバーレス DB。

The ultimate MySQL database platform — PlanetScale
PlanetScale is the world’s most advanced, fully-managed MySQL database platform. Scale, performance, and reliability, powered by Vitess.
The ultimate MySQL database platform — PlanetScale favicon planetscale.com
The ultimate MySQL database platform — PlanetScale
  • 料金
    • 無料の Hobby プランあり
  • ストレージ容量
    • 5GB
  • スペック
    • 10 億行 read/month
    • 1,000 万行 write/month
  • コネクション数
    • 1,000
  • リージョン
  • その他提供されている機能
  • 注意点
    • 外部キー制約をサポートしていない

参考記事、関連サイト

PlanetScaleというサーバレスDBが凄く勢いのあるサービスらしいのでQuick Startやってみた - Qiita
PlanetScaleというサーバレスDBが凄く勢いのあるサービスと聞いて、公式にクイックスタートがあったのでやってみました。環境PC: MacBook Pro (Intel Core 2016)…
PlanetScaleというサーバレスDBが凄く勢いのあるサービスらしいのでQuick Startやってみた - Qiita favicon qiita.com
PlanetScaleというサーバレスDBが凄く勢いのあるサービスらしいのでQuick Startやってみた - Qiita
PlanetScaleとは何か、なぜ外部キー制約をサポートしていないのか
PlanetScaleとは何か、なぜ外部キー制約をサポートしていないのか favicon zenn.dev
PlanetScaleとは何か、なぜ外部キー制約をサポートしていないのか
しずかなインターネットの技術構成
しずかなインターネットの技術構成 favicon zenn.dev
しずかなインターネットの技術構成

Render.com

Render.com は多様なインフラサービスを提供しており、その中で PostgreSQL も利用可能となっている。他にも Redis も提供しているが、この記事では割愛する。

Create and Connect to a PostgreSQL Database – Render Docs
Learn how to store state in a fully managed PostgreSQL database on Render with this quickstart guide.
Create and Connect to a PostgreSQL Database – Render Docs favicon render.com
Create and Connect to a PostgreSQL Database – Render Docs
  • 料金
    • $0 for first 90 days
      • free プランの場合、DB 作成後 90 日でアクセスできなくなる。その後 14 日以内にアップグレードしないと削除される。 - ref. 90-day limit | Render Docs
  • ストレージ容量
    • SSD 1GB
  • スペック
    • CPU: 0.1
    • メモリ: 256MB
  • コネクション数
    • 97
  • リージョン
  • その他提供されている機能
    • バックアップ - ref.
      • 無料のプランの場合はバックアップされない。有料のインスタンスタイプにアップグレードすると、毎日の自動バックアップと手動バックアップが利用可能。
    • IP でのアクセス制御 - ref. Access Control | Render Docs
    • CPU やメモリなどの代表的なメトリクスを見れるダッシュボード - ref. Metrics | Render Docs
    • 使用できる PostgreSQL のバージョン - ref. Database Versions & Upgrades | Render Docs
      • 11, 12, 13, 14, 15 が使用可能で DB 作成時に選択できる。

参考記事、関連サイト

Heroku無料枠廃止で路頭に迷う開発者に捧ぐ、次世代PaaS「Render.com」の使い方 - Qiita
Herokuは2022年8月25日、Heroku DynosやHeroku Postgresなどの無料プランの廃止をアナウンスしました。このニュースには、個人開発者だけでなく、Web開発者であればほ…
Heroku無料枠廃止で路頭に迷う開発者に捧ぐ、次世代PaaS「Render.com」の使い方 - Qiita favicon qiita.com
Heroku無料枠廃止で路頭に迷う開発者に捧ぐ、次世代PaaS「Render.com」の使い方 - Qiita

Supabase

BaaS として最も勢いのあるサービスの一つで、DB だけでなく認証やリアルタイムリスナー、ストレージなど幅広く提供している。

Supabase | The Open Source Firebase Alternative
Build production-grade applications with a Postgres database, Authentication, instant APIs, Realtime, Functions, Storage and Vector embeddings. Start for free.
Supabase | The Open Source Firebase Alternative favicon supabase.com
Supabase | The Open Source Firebase Alternative
  • 料金
    • Free プランあり
    • 2 Organization まで作成可能
  • DB ストレージ容量
    • 500MB
  • リージョン
    • 東京リージョンあり。またAWS クラウド上のこれらのリージョンを使用可能。
  • その他提供されている機能や情報
    • Row Level Security が使える - ref. Row Level Security | Supabase Docs
    • ブラウザから Table view としてテーブルの中身などを確認できる。その他にも CSV やスプレッドシートからインポートできる。
    • @supabase/supabase-jsSupabase CLI など公式が提供していて開発のライフサイクル全般で見ても手厚い。
  • 注意点
    • 1 週間の間、アクティビティや API リクエストがなければ停止。(解除はダッシュボードから)
    • 自動バックアップなし

参考記事、関連サイト

飛躍的に伸びているBaaS「Supabase」の概要と所感 - Qiita
Supabase とはいわゆる BaaS (Backend As A Service) で、シンガポールを拠点とするスタートアップによって 2020 年から提供されています。Firebase A…
飛躍的に伸びているBaaS「Supabase」の概要と所感 - Qiita favicon qiita.com
飛躍的に伸びているBaaS「Supabase」の概要と所感 - Qiita
【Supabase入門】認証・DB・リアルタイムリスナーを使ってチャットアプリを作ろう
【Supabase入門】認証・DB・リアルタイムリスナーを使ってチャットアプリを作ろう favicon zenn.dev
【Supabase入門】認証・DB・リアルタイムリスナーを使ってチャットアプリを作ろう
GitHub - supabase/supabase: The open source Firebase alternative. Supabase gives you a dedicated Postgres database to build your web, mobile, and AI applications.
The open source Firebase alternative. Supabase gives you a dedicated Postgres database to build your web, mobile, and AI applications. - supabase/supabase
GitHub - supabase/supabase: The open source Firebase alternative. Supabase gives you a dedicated Postgres database to build your web, mobile, and AI applications. favicon github.com
GitHub - supabase/supabase: The open source Firebase alternative. Supabase gives you a dedicated Postgres database to build your web, mobile, and AI applications.

Vercel Postgres

Vercel 社が提供している Vercel Storage の 1 つである Vercel Postgres は、マネージドでサーバーレスな PostgreSQL。

Vercel Postgres
Vercel Postgres is a serverless SQL database designed to integrate with Vercel Functions and your frontend framework.
Vercel Postgres favicon vercel.com
Vercel Postgres
  • 料金
    • 無料の Hobby プランあり
    • 1 つの DB を作成可能
  • ストレージ容量
    • トータル 256MB
  • スペック
    • 60 hours/month のコンピュートリソース
      • 0.25 の論理CPU
    • write 256MB/month
    • データ転送量 256MB/month
  • リージョン
  • その他提供されている機能
  • 注意点
    • DB はリクエストを受信してから 5 分間はアクティブで、その後 5 分間アイドル状態になると、停止状態になる。次にアクセスされる際に、最大 1 秒間のコールドスタートが発生
    • 利用限度額に近づくと Vercel からメールを届く。追加の使用料を支払う必要はないが、制限を超えると Vercel Postgres にアクセスできなくなる。この場合、30 日経過すると再度利用できる。

参考記事、関連サイト

How to Build a Fullstack App with Next.js, Prisma, & PostgreSQL
Learn how to create and deploy a fullstack application with Next.js, Prisma, PostgreSQL, and Vercel.
How to Build a Fullstack App with Next.js, Prisma, & PostgreSQL favicon vercel.com
How to Build a Fullstack App with Next.js, Prisma, & PostgreSQL
Next.js、 Prisma、PostgreSQLでフルスタックアプリを作る - Qiita
Next.js、 Prisma、PostgreSQLでフルスタックアプリを作る以下を翻訳した文章になります。How to Build a Fullstack App with Next.js, …
Next.js、 Prisma、PostgreSQLでフルスタックアプリを作る - Qiita favicon qiita.com
Next.js、 Prisma、PostgreSQLでフルスタックアプリを作る - Qiita

候補に上がらなかったサービス

今回は候補に上がらなかったサービスではあるが、場合によっては検討の余地ありかなと言うものをリストアップしておく。

Cloudflare D1

Cloudflare の CDN のエッジロケーション上で動く Cloudflare のエッジ DB サービス。実体としてはエッジに分散された SQLite。

ネイティブにサーバーレスなSQLデータベースをCloudflare D1で構築
D1で、ネイティブにサーバーレスなSQLデータベースを数秒で作成しましょう。馴染みのあるクエリー言語、ポイントインタイムリカバリー、費用対効果の高い料金設定によって、次のヒット商品の構築をサポートします。
ネイティブにサーバーレスなSQLデータベースをCloudflare D1で構築 favicon www.cloudflare.com
ネイティブにサーバーレスなSQLデータベースをCloudflare D1で構築

現時点ではまだベータ版ということで候補としてピックアップしなかったが、情報を追いつつ正式リリースされた時点でもう少し詳しく調べてみようと思う。

Heroku Postgres

多くの個人開発者がお世話になっているであろう、Heroku が提供しているマネージド PostgreSQL。

フルマネージド・データベース・サービス - PostgreSQL | Heroku
Heroku のマネージドサービスとして、専門運用知識、デフォルトのセキュリティ、その他付属の PostgreSQL を利用したデータ駆動型アプリをデプロイしましょう。
フルマネージド・データベース・サービス - PostgreSQL | Heroku favicon jp.heroku.com
フルマネージド・データベース・サービス - PostgreSQL | Heroku

昨年、無料枠廃止のアナウンスがされたため、今回は候補に上がらなかった。

まとめ

比較するにあたって、他にもいろんな観点あるかなと思うが、一応全部見渡すとこんな感じになった。

サービスDBMS無料枠のストレージ国内リージョン
NeonPostgreSQL3GB×
PlanetscaleMySQL5GB
Render.comPostgreSQL1GB×
SupabasePostgreSQL500 MG
Vercel StoragePostgreSQL256MB×

この記事では、個人開発において無料で利用できる RDB サービスの選択肢をまとめてみた。各サービスは、それぞれ独自の価格体系、スペック、および機能を持つので、技術選定に際してこれらの情報を吟味し、かつ最新の情報をチェックし、最適な DB サービスを選択しようと思う。

今回は取り上げていないものの RDB 以外に Google Cloud の Cloud Firestore や AWS の DynamoDB など NoSQL も忘れずに検討したい。

参考

個人開発のコストはDB次第 - laiso
個人でWebサービスを継続的に運用するのは金がかかってかなわんという問題がある 「個人開発」だと定義が曖昧なので自己資金かつ赤字のプロジェクト(Webサービス)ということにする。 そういうプロジェクトではプロダクトオーナー=自分、開発者=自分、予算管理者=自分というロールになるので予算管理者としてコストを図る必要がある(ここでいうコストはWebサービスを実現するアプリケーションのランニングコストのこと)。 通常はみんな自分の人件費を0として計算していると思う(逆にいうとそれが負債という考え方もできると思う)。 ただしメンテナンス時間とコストのトレードオフもあるので、人件費0ではあるけど有限の時…
個人開発のコストはDB次第 - laiso favicon laiso.hatenablog.com
個人開発のコストはDB次第 - laiso
安く早く開発するための個人開発アーキテクチャ
安く早く開発するための個人開発アーキテクチャ favicon zenn.dev
安く早く開発するための個人開発アーキテクチャ
サヨナラHeroku 〜アプリケーションの知識だけで本番稼働を実現できる無料のプラットフォームを追い求めて〜
サヨナラHeroku 〜アプリケーションの知識だけで本番稼働を実現できる無料のプラットフォームを追い求めて〜 favicon zenn.dev
サヨナラHeroku 〜アプリケーションの知識だけで本番稼働を実現できる無料のプラットフォームを追い求めて〜
無料から使えるデータベース比較 - Qiita
アプリケーションで永続化的なデータを扱うときにデータベースが必要になってくる。個人開発等でマネタイズできるまでは "タダ" で "ラク" に運用しておきたいのでいくつか調べてみた。データベースデ…
無料から使えるデータベース比較 - Qiita favicon qiita.com
無料から使えるデータベース比較 - Qiita
ブログは別サイトに移行しました
ブログは別サイトに移行しました favicon blog.rmblankslash.net
GitHub - neondatabase/neon: Neon: Serverless Postgres. We separated storage and compute to offer autoscaling, code-like database branching, and scale to zero.
Neon: Serverless Postgres. We separated storage and compute to offer autoscaling, code-like database branching, and scale to zero. - neondatabase/neon
GitHub - neondatabase/neon: Neon: Serverless Postgres. We separated storage and compute to offer autoscaling, code-like database branching, and scale to zero. favicon github.com
GitHub - neondatabase/neon: Neon: Serverless Postgres. We separated storage and compute to offer autoscaling, code-like database branching, and scale to zero.
The ultimate MySQL database platform — PlanetScale
PlanetScale is the world’s most advanced, fully-managed MySQL database platform. Scale, performance, and reliability, powered by Vitess.
The ultimate MySQL database platform — PlanetScale favicon planetscale.com
The ultimate MySQL database platform — PlanetScale