Supabaseは、オープンソースのFirebase代替製品です。エンタープライズグレードのオープンソースツールを使って、Firebaseの機能を構築しています。
- ホスティングされたPostgresデータベース
- リアルタイムサブスクリプション
- 認証・認可
- APIを自動生成
- ダッシュボード
- ストレージ
- 関数 (近日公開)
詳しいドキュメントはsupabase.io/docsをご覧ください。
- コミュニティフォーラム どんな時に使うか:構築の手助け、データベースのベストプラクティスに関する議論など
- GitHub Issue どんな時に使うか: Supabaseで起こったバグやエラーについて
- Emailサポート どんな時に使うか: ユーザー自身のデータベースやインフラに何か問題が発生した場合
- Alpha: 限られたユーザーでSupabaseをテストしています。
- Public Alpha: 誰でもapp.supabase.ioから登録ができます。ただし、バグなどがある可能性がありますので、ご容赦ください。
- Public Beta: 企業以外のほとんどのユースケースに耐えうる十分な安定性を確保。
- Public: 実用的な用途に対応
現在、Public Betaを実施しています。このリポジトリの"release"にてメジャーアップデートに関する情報を発信しています。
Supabaseは、オープンソースのツールを組み合わせてできています。私たちはFirebaseの機能を、エンタープライズグレードのオープンソース製品を使って構築しています。ツールやコミュニティが存在し、MIT、Apache 2、または同等のオープンライセンスであれば、私たちはそのツールを使用し、サポートします。ツールが存在しない場合は、自分たちで構築してオープンソース化します。SupabaseはFirebaseを1対1でマッピングしたものではありません。Supabaseの目的は、オープンソースのツールを使って、Firebaseのような開発体験を提供することです。
現在のアーキテクチャ
Supabaseはホスティングされたプラットフォームです。登録するだけで、何もインストールせずに使い始めることができます。 更に現在ローカルでの開発環境を整えており、これはプラットフォームの安定性と並んで今最優先で進めているプロジェクトになります。
- PostgreSQLは、30年以上にわたって開発・改善されてきたオブジェクトリレーショナルデータベースシステムで、信頼性、機能の堅牢性、パフォーマンスの面で高い評価を得ています。
- Realtimeは、PostgreSQLのinsert、update、deleteの情報をWebSocketで受信できるElixirサーバです。SupabaseはPostgresに組み込まれたレプリケーション機能をリッスンし、レプリケーションのバイトストリームをJSONに変換し、そのJSONをWebSocketでブロードキャストします。
- PostgRESTは、PostgreSQLデータベースをRESTful APIに直接変換するウェブサーバです。
- Storageは、S3に保存されたファイルを管理するためのRESTfulなインターフェイスで、パーミッションの管理にはPostgresを使用しています。
- postgres-meta は、Postgresを管理するためのRESTful APIで、テーブルの取得、ロールの追加、クエリの実行などを行うことができます。
- GoTrue は、ユーザー管理とSWTトークン発行のためのSWTベースのAPIです。
- Kong は、クラウドネイティブなAPIゲートウェイです。
Supabaseクライアントライブラリはモジュール化されています。それぞれのサブライブラリが、一つの外部システムのための独立した実装となっています。こうすることで、既存のツールをサポートしています。
supabase-{lang}: 下記全てのライブラリを内包したクライアントライブラリ
| レポジトリ | 公式 | コミュニティ |
|---|---|---|
supabase-{lang} |
JS |
C# | Dart | Python | Rust |
postgrest-{lang} |
JS |
C# | Dart | Python | Rust |
realtime-{lang} |
JS |
C# | Dart | Python | Rust |
gotrue-{lang} |
JS |
C# | Dart | Python | Rust |


