Supabase 詳解:PostgreSQL 中心のバックエンド基盤はどう組み合わさるか
Postgres、PostgREST、GoTrue、Realtime、Storage、Kong、ローカル開発、クラウド、自前運用を通して、構成、導入、責任、ライセンス境界を説明する。
位置付けと現在の動き
Supabase は Firebase の完全な複製ではなく、Postgres 開発基盤と自らを位置付ける。取得時点のリポジトリは約 106,724 Star、2 回の本番スナップショット間で 59 Star 増え、7 月の開発更新も公開された。データベース、認証、自動 API、リアルタイム、オブジェクト保存、関数をまとめつつ、SQL を直接使える点が支持の理由である。
主な用途と機能
SaaS のバックエンド、モバイルのログインと同期、社内ツール、権限付きファイルを持つ製品、前面アプリから素早く DB を使う試作に合う。Hosted Postgres、REST、GraphQL、Realtime、Auth、Storage、DB 関数、Edge Functions を備える。JavaScript、Flutter、Swift、Python などの SDK があるが、全言語へ同時に同じ機能が届くとは限らない。
アーキテクチャと動作原理
PostgreSQL がデータと権限の中心になる。PostgREST はスキーマから REST API を生成し、GoTrue は JWT 認証、Realtime は複製変更の WebSocket 配信、Storage はオブジェクト保存と Postgres による権限制御、Kong はゲートウェイを担う。SQL、行レベルセキュリティ、SDK が結び付く一方、障害調査は複数サービスにまたがる。
技術構成とシステム境界
主リポジトリは TypeScript と pnpm のワークスペースで、サイト、Dashboard、例、Docker 設定、ツールを含む。実行時には Elixir、Go、PostgreSQL 拡張、オブジェクトストアなども組み合わさる。管理サービスは Supabase が運用し、自前構築は主に Docker Compose を使う。DB 関数と Edge Functions は実行場所が違い、接続、トランザクション、遅延、権限を分けて設計する。
最小の導入手順
最短経路は管理サービスでプロジェクトを作り、テーブルを定義し、RLS を有効にして公式クライアントから接続する方法である。ローカル開発では Supabase CLI がコンテナと migration を管理する。自前運用はドメイン、鍵、SMTP、オブジェクト保存、バックアップ、監視を公式手順に沿って設定し、例示された既定値を公開環境へ残さない。
利点、制約、運用コスト
よく使うバックエンド機能を早く得ながら、PostgreSQL の SQL、migration、既存ツールを使える点が強い。反面、認証、ゲートウェイ、リアルタイム、ストレージ、DB の版を合わせる必要があり、誤った RLS はデータを直接公開し得る。管理サービスは運用を減らすが、自前では更新、容量、メール配送、復旧、監視まで担当する。