Supabaseとは?使い方
この記事の目次
Supabaseとは
Supabaseは、BaaS (Backend As A Service) の一つで、2020年からシンガポールに拠点を置くスタートアップが提供しています。Firebaseの代替として紹介されていることから、BaaSに馴染みがない方は、Firebaseに似たものをイメージすると良いでしょう。
ただし、代替というのはクローンではなく、いくつかのプロダクトを置き換える可能性があるという意味です。データベースは異なるDBMSを使用しており、扱い方は異なりますが、クライアントから直接アクセスできる点は共通しています。
FirebaseのRDB版があれば良いのに…と考えていた時期に登場しました。ここでは、しばらく調査や使用してわかったことをまとめます。
プロダクトの種類
現在、以下の4つが提供されています。モバイルに特化した機能はないためmBaaSではありませんが、今後さらに機能が広がる可能性があります。
Database
Authentication
Storage
Edge Functions(一部がアルファ版として提供されています)
Analyticsの代替要望やCrashlyticsの代替要望も挙がっており、ディスカッション内では投票数によって開発が左右されることが感じられ、オープンな開発の利点がうかがえます。運営チームとの距離が近く、好印象です。
読み方
「Super base」と同じ発音で、/suːpə beis/ と読むようです。
注目度
Supabaseは現在ベータ版ですが、すでに注目を集めており、企業の利用もあるようです。GitHubのStar数の急増からもその勢いが伺えます。
https://runacap.com/ross-index/q2-2021/
上記の記事の時点で14.2KだったStar数は、既に17Kに達しており、開発者たちの関心が高まっていることがわかります。
特徴
Supabaseのドキュメントを読んだり、実際に使ったりしてわかった特徴をいくつか挙げます。
オープンソース(ホスティングあり)
GoTrue、PostgRESTなどのオープンソースツールを組み合わせています
ベンダーロックインがないため、自分でホストすることも可能です
手頃な料金設定
RDBMSを含むにもかかわらず低価格で提供されています
従量課金の部分が少なく、コストの予測がしやすいです
DBは素のPostgreSQL + PostgRESTで、その機能を活用できます
使いやすいダッシュボード
認証プロバイダが豊富
GitHubアカウントで簡単に始められる
自分でホストする場合、登録さえ不要です
多くの言語やフレームワークに対応
公式サポートに加え、コミュニティによる開発も活発です
また、Dart/Flutter用のsupabaseパッケージがピュアDartで作られているのも個人的には嬉しい点です。Firebaseのネイティブ依存プラグインで困った経験がある方には共感できるポイントでしょう。
リージョン
Supabaseは北米、南米、ヨーロッパ、アジア、オセアニアに12のリージョンを展開しています。東京リージョンは2022年5月頃に追加されました。
West US (North California)
East US (North Virginia)
Canada (Central)
West EU (Ireland)
West EU (London)
Central EU (Frankfurt)
South Asia (Mumbai)
Southeast Asia (Singapore)
Northeast Asia (Tokyo)
Northeast Asia (Seoul)
Oceania (Sydney)
South America (São Paulo)
2022-11-24追記
ソウルリージョンが追加されました。
料金
Supabaseには3つの料金プランがあります。最新の情報や詳細はPricingのページをご覧ください。プランごとに異なる点として、カスタムSMTPサーバ、アクセスコントロール、サポートの種類などが挙げられます。
2022-7-28更新
料金プランの変更がありましたので、以下に更新内容をまとめます。
プラン
Free
二つのorganizationを持ち、それぞれに二つのプロジェクトを無料で作成できます。小規模な使用や試験には十分です。
Pro
プロジェクトごとに月額$25。予測しやすい料金体系で、非正規化やRead削減のための工夫も不要です。
Enterprise
エンタープライズ向けに従量課金があり、プロジェクトごとの料金は問い合わせが必要です。