Supabase

Supabase

Supabase Inc. · コーディング

Supabaseは、サーバーを動かさずにデータベース、認証、ストレージ、即時APIを使いたい開発者向けの、PostgreSQLベースのオープンソースバックエンド基盤だ。

Supabase の画面プレビュー

Supabase について

Supabaseとは

SupabaseはPostgreSQL上に構築されたオープンソースのバックエンド基盤だ。本物のPostgresデータベースに加え、認証、ファイルストレージ、サーバーレス関数、リアルタイム同期、自動生成されるAPIを、1つのプロジェクトにまとめて提供する。バックエンドを一から組んだ経験があるなら、その面倒さは分かるだろう。ログイン、アップロード、データベース呼び出しでサービスが分かれ、それぞれに請求と設定が付いてくる。Supabaseはそれらをひとまとめにし、自分で組み立てるのではなく、動くバックエンドから始められるようにする。

売り文句はFirebaseに最も近い。ただしデータ層は素のPostgresだ。これはいくつかの理由で重要になる。Postgresは標準規格であり、データはいつでも別の場所へ移せる。囲い込みはない。psql、Prisma、Drizzleを含む任意のPostgresクライアントやORMに、通常の接続文字列でつなげる。そしてオープンソースなので、クラウド事業者に払いたくないなら、スタック全体を自分のマシンで動かせる。

引き換えに、Supabaseは開発者向けの概念に慣れていることを前提とする。ノーコードの構築ツールではない。SQLを書き、スキーマを管理し、データを守るための行レベルセキュリティポリシーを設定する。初心者でもプロジェクトはすぐ動かせるが、この基盤が報いるのは、データベースとAPIの仕組みをすでに理解している人だ。どこまでも開発者向けツールである。それが重すぎると感じるなら、もう一度考えたほうがいい。

はじめかた

  1. supabase.comで無料アカウントを作り、新しいプロジェクトを開始する。ユーザーに近いリージョンを選び、データベースのパスワードを設定する。
  2. Table Editorを開いて視覚的にテーブルを作るか、SQL EditorでSQLを書いてスキーマを定義する。
  3. Authを有効にし、メールとパスワード、マジックリンク、ソーシャルプロバイダーなどのログイン方法を選ぶ。
  4. プロジェクトのURLと匿名キーを使い、アプリから自動生成されたRESTまたはGraphQLのAPIを呼び出す。公開前にローレベルセキュリティポリシーを追加する。
  5. アプリの成長に合わせてStorageバケット、Edge Functions、Realtimeを足していく。使っていない製品に費用はかからない。

AIツール情報

Supabaseの料金、対応プラットフォーム、性能を簡単に確認できます。

無料プランはい
有料プラン$0 - $599/mo
プラットフォームWeb, self-hosted (Docker), CLI
開発元Supabase Inc.
カテゴリコーディング
リリース日Jun 2020
最終更新Sep 2025
サイト訪問数29.7M
サイト世界ランキング1.2K
API提供状況はい

こんな人におすすめ

このツールが最も力を発揮するユーザー、タスク、シーン。

ユーザー

  • 個人開発者と小規模チーム:DevOps担当を雇わず、サーバーも管理せずに完全なバックエンドを出荷する。
  • フロントエンドとモバイルの開発者:APIを一から作る代わりに、クライアントライブラリでログイン、アップロード、ライブデータを足す。
  • ベンダーロックインを避けたいチーム:データを標準Postgresに置き、必要になったら別のホストへ移す。

タスク

  • Webアプリやモバイルアプリのバックエンド構築:Postgresデータベースに、認証、ストレージ、即時利用できるRESTとGraphQLのAPIを最初から組み合わせる。
  • アプリへのAI検索の追加:pgvectorを使い、ベクトル埋め込みを通常のデータと同じデータベースに保存して検索する。
  • チャットやライブダッシュボードなどのリアルタイム機能:追加インフラなしでWebSockets経由でデータベースの変更を購読する。

シーン

  • 週末のプロトタイプとMVP:無料プランで始め、データ層を書き直さずに後から拡張する。
  • Firebaseからの移行:マネージドな認証とAPIの便利さを保ったままPostgresバックエンドへ移る。
  • 規制対象やプライバシーに敏感なプロジェクト:スタックを自前でホストし、データを自社サーバーから出さない。

主な機能

自動生成API付きのPostgresデータベース

各プロジェクトは専用のPostgresデータベースであり、SupabaseはスキーマからRESTとGraphQLのAPIを自動で作る。CRUDエンドポイントを手書きする必要はない。テーブルを定義すればAPIが現れる。これが、データベースと自前サーバーを継ぎ合わせるのではなく、この基盤を選ぶ主な理由だ。

組み込みの認証

Supabaseは登録、ログイン、セッション管理を、メールとパスワード、電話OTP、マジックリンク、20以上のソーシャルプロバイダーで処理する。アクセスルールはPostgresの行レベルセキュリティを通るので、誰がどの行を読み書きできるかをデータベースの層で制御できる。認可のロジックはアプリのコードに散らばらず、1か所にまとまる。

グローバルCDN付きのファイルストレージ

StorageはS3互換のオブジェクトストレージで、285以上の都市をカバーするCDN経由で配信される。画像変換も内蔵する。バケットは3種類あり、その中にはAIワークロード向けのベクトルバケットもある。アップロードは世界中で速く感じられ、別のストレージ事業者を足す必要はない。

Edge Functions

Edge Functionsは世界に分散したサーバーレス関数で、TypeScriptまたはDenoで書き、Node.js互換で2M+以上のNPMモジュールにアクセスできる。ユーザーの近くで動くため、レイテンシは低く保たれる。Webhook、決済連携、APIがカバーしない独自ロジックに使える。

リアルタイム同期

RealtimeはWebSocketsでデータベースに接続し、3つのことを担う。行の変更を監視すること、誰がオンラインかを示すこと、任意のメッセージを配信することだ。チャットアプリ、ライブダッシュボード、共同作業ツールは更新の層を無料で手に入れる。別のpub/subサービスを動かす必要はない。これは時間の節約になる。

AIアプリ向けのベクトルデータベース

Supabaseはpgvectorを同梱するので、ベクトル埋め込みをトランザクションデータのすぐ隣に保存し、インデックスを張り、検索できる。意味検索やレコメンド機能は、アプリがすでに使っているデータベースの中に収まる。別のベクトルストアを同期するより単純だ。

メリットとデメリット

メリット

  • 土台が本物のPostgresなので、標準のクライアント、ORM、拡張を使え、後からデータを移せる。
  • オープンソースでセルフホスト可能。1つの事業者に縛られない。
  • 認証、ストレージ、関数、リアルタイムが1つのプロジェクトで連携する。設定の手間が大きく減る。
  • 500 MBのデータベースと月間5万人のアクティブユーザーが使える寛大な無料枠で、試作できる。
  • 自動生成されるRESTとGraphQLのAPIが、定型的なエンドポイントの記述を省いてくれる。

デメリット

  • 無料プロジェクトは1週間の非活動で一時停止するため、ライブデモや低トラフィックのアプリは落ちうる。
  • SQLを書き、行レベルセキュリティポリシーを設定する必要があり、初心者には難しい。
  • 料金はプラン枠を超えたコンピュートと使用量で積み上がるため、コストの把握に手間がかかる。

よくある質問

SupabaseはWebアプリとモバイルアプリのバックエンド基盤だ。Postgresデータベースに、認証、ストレージ、サーバーレス関数、リアルタイム更新、自動生成APIを加えて提供するので、開発者はこうしたサービスを自分で作らずにアプリを公開できる。