mirror of
https://github.com/supabase/supabase.git
synced 2026-10-05 01:15:03 +03:00
7.5 KiB
7.5 KiB
Supabase
Supabaseは、オープンソースのFirebase代替製品です。エンタープライズグレードのオープンソースツールを使って、Firebaseの機能を構築しています。
- ホスティングされたPostgresデータベース
- リアルタイムサブスクリプション機能
- 認証・認可
- APIを自動生成
- ダッシュボード
- ストレージ
- ファンクションズ (近日公開)
ドキュメンテーション
詳しいドキュメントはsupabase.io/docsをご覧ください。
コミュニティとサポート
- [コミュニティフォーラム]](https://github.com/supabase/supabase/discussions) どんな時に使うか:構築の手助け、データベースのベストプラクティスに関する議論など
- GitHub Issue どんな時に使うか: Supabaseをに関するバグやエラーについて
- Emailサポート どんな時に使うか: ユーザー自身ののデータベースやインフラに何か問題が発生した場合
ステータス
- Alpha: 限られたユーザーでSupabaseをテストしています。
- Public Alpha: 誰でもapp.supabase.ioから登録ができます。ただし、バグなどがある可能性がありますので、ご容赦ください。
- Public Beta: 企業以外のほとんどのユースケースに耐えうる十分な安定性を確保。
- Public: 実用的な用途に対応
現在、Public Betaを実施しています。このリポジトリの"release"にてメジャーアップデートに関する情報を発信しています。
Supabaseの仕組み
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で、テーブルの取得、roleの追加、クエリの実行などを行うことができます。
- 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 |


