SupabaseとFirebaseの基本的な違い

BaaS(Backend as a Service)の2大選択肢であるSupabaseとFirebaseは、根本的な設計思想が異なります。

FirebaseはGoogleが提供するBaaSで、2014年にGoogleに買収されて以降、GCPエコシステムの一部として進化してきました。NoSQL(Firestore)ベースのリアルタイムデータベースを中心に、認証・ストレージ・ホスティング・メッセージングなど幅広いサービスを提供しています。

Supabaseは「オープンソースのFirebase代替」を標榜し、2020年に本格始動しました。PostgreSQLをベースにしたリレーショナルデータベースを中心に据え、認証・ストレージ・Edge Functions・リアルタイム機能を提供しています。

機能比較表

項目SupabaseFirebase
データベースPostgreSQL(リレーショナル)Firestore / Realtime DB(NoSQL)
クエリ言語SQLドキュメントクエリAPI
認証GoTrue(メール、OAuth、Magic Link)Firebase Auth(メール、OAuth、電話)
ストレージS3互換オブジェクトストレージCloud Storage
サーバーレス関数Edge Functions(Deno)Cloud Functions(Node.js)
リアルタイムPostgreSQL LISTEN/NOTIFYFirestoreリアルタイムリスナー
ホスティングなしFirebase Hosting
プッシュ通知なしFCM(Firebase Cloud Messaging)
AnalyticsなしGoogle Analytics統合
A/BテストなしRemote Config
オープンソースはいいいえ
セルフホスト可能不可

料金比較

Supabase

プラン月額DBストレージEdge Functions
Free$0500MB、50,000行/月読取1GB500,000呼出
Pro$258GB、無制限100GB2M呼出
Team$599優先サポート、SOC2100GB2M呼出
Enterprise要問合せカスタムカスタムカスタム

Firebase

項目Spark(無料)Blaze(従量課金)
Firestore読取50,000回/日$0.06/100,000回
Firestore書込20,000回/日$0.18/100,000回
Storage5GB$0.026/GB
Cloud Functionsなし200万回/月無料、以降$0.40/100万回
Hosting10GB$0.026/GB
Auth無料(10,000 MAU以降 $0.0055/MAU)同左

ポイント: Supabaseは月額固定で予算が読みやすい。Firebaseは従量課金のため、トラフィック急増時にコストが跳ね上がるリスクがあります。一方、小規模なら Firebase の無料枠の方が使い勝手がよいケースもあります。

データベース:SQL vs NoSQL

これが最大の選択ポイントです。

Supabase(PostgreSQL)

  • リレーショナル: JOINが使える。正規化したデータモデルが作れる
  • SQL: 業界標準のクエリ言語。学習資料が豊富
  • 拡張機能: PostGIS(地理情報)、pgvector(AI埋め込み)、pg_cron(定期実行)
  • マイグレーション: スキーマ変更の管理が容易
  • Row Level Security: PostgreSQL標準のセキュリティ機能
-- Supabaseでのクエリ例
SELECT users.name, orders.total
FROM users
JOIN orders ON users.id = orders.user_id
WHERE orders.created_at > '2026-01-01';

Firebase(Firestore)

  • ドキュメント型NoSQL: JSONライクなデータ構造
  • スケーラビリティ: 自動スケーリング、シャーディング不要
  • リアルタイム: データ変更を即座にクライアントに反映
  • 非正規化: JOINがないため、読み取り最適化のためにデータを重複させる
  • サブコレクション: 階層的なデータモデル
// Firestoreでのクエリ例
const snapshot = await db.collection('users')
  .where('role', '==', 'admin')
  .orderBy('createdAt', 'desc')
  .limit(10)
  .get();

判断基準: データ間のリレーションが多い(ECサイト、SaaS等)ならSupabase。リアルタイム性が重要でスキーマが柔軟(チャット、IoT等)ならFirebase。

認証

機能SupabaseFirebase
メール/パスワード
OAuth (Google, GitHub等)
Magic Link✅(メールリンク)
電話認証(SMS)
匿名認証
カスタムクレーム✅(JWT)
マルチファクター認証

認証機能はほぼ互角です。Supabaseは Row Level Security と組み合わせてDB レベルでアクセス制御ができる点が強みです。

こんなプロジェクトにおすすめ

Supabaseがおすすめ

  • リレーショナルデータが中心: EC、SaaS、CMS、管理システム
  • SQLに慣れている: 既存のSQLスキルを活かしたい
  • ベンダーロックイン回避: オープンソースでセルフホスト可能
  • AI機能を組み込む: pgvectorでベクトル検索が使える
  • 予算管理が重要: 月額固定で予測しやすい

Firebaseがおすすめ

  • リアルタイムアプリ: チャット、共同編集、ゲーム
  • モバイルアプリ: FCM、Analytics、Crashlyticsの統合
  • プロトタイプ: 最速でMVPを作りたい
  • GCPエコシステム: BigQuery、Cloud Run等との連携
  • フロントエンド開発者: SQLを書きたくない

メリット・デメリット

Supabase

メリット

  • PostgreSQLの全機能が使える
  • オープンソース、セルフホスト可能
  • 月額固定で予算が読みやすい
  • pgvectorでAI/ML対応

デメリット

  • Firebaseほどのリアルタイム性能ではない
  • プッシュ通知やAnalyticsは別サービスが必要
  • エコシステムがFirebaseより小さい
  • Edge FunctionsはDeno限定

Firebase

メリット

  • 圧倒的なリアルタイム性能
  • モバイル開発の包括的サポート
  • Google/GCPとの深い統合
  • 豊富なドキュメントとコミュニティ

デメリット

  • ベンダーロックイン(Google依存)
  • 従量課金でコストが予測しにくい
  • JOINが使えない(非正規化が必要)
  • データのエクスポートが面倒

結論:どちらを選ぶべき?

Webアプリ、SaaS、管理ツールを作るならSupabaseがおすすめです。PostgreSQLの信頼性とSQLの汎用性は、長期的な開発で確実に活きてきます。

モバイルアプリ、リアルタイムアプリを作るならFirebaseが強いです。FCM、Analytics、Crashlyticsまで揃ったモバイル開発スイートは他にありません。

迷ったら「データのリレーションが複雑か?」で判断してください。複雑ならSupabase、シンプルならFirebase。これが最も外さない選び方です。

BaaS以外の開発ツールも含めて比較したい場合は、Assisty AI ディレクトリをご活用ください。


Assistyでは、この記事で紹介した内容を実際に試せるJSON整形ツールを無料で提供しています。ブラウザ上で完結し、データがサーバーに送信されることはありません。