Supabaseとは、BaaS(Backend As A Service)の1種で、アプリケーション開発のバックエンド機能をクラウド上で提供するオープンソースです。
シンガポールを拠点とするスタートアップによって2020年から提供が始まり、登録開発者数が45万人超え、1億1600万ドルを超える資金を調達するなど「Firebaseを代替するBaaS」として注目を集めています。
この記事では、そんなSupabaseの主な機能・プランや活用方法、メリット・デメリット、他ツールとの比較を通して、「Supabaseで何ができるの?」「Supabaseをどう活用するべきかわからない」といった疑問を解決します!
最後に使う前の準備やインストール方法なども紹介しているので、ぜひご活用ください。
Supabaseとは?できることや特徴、料金プランを解説!
SupabaseはオープンソースのBaaSプラットフォームで、特に開発者が高速かつ簡単にアプリケーションのバックエンドを構築できるように設計されています。
また、SupabseはPostgreSQLを中心としたデータベースを基盤にしており、リアルタイム機能や認証、ストレージなど、多様なバックエンド機能を提供することが可能です。
よく比較されるFirebaseとの一番の違いですが、Supabaseは先程述べたようにPostgreSQLを使用していることに対して、FirebaseではNoSQLを使用していることです。 それぞれ、ことなるアプリ開発法に適しているなど特徴が異なります。 後ほど、Firebaseを含めた他のBaaSとの比較とともにメリット・デメリットにも触れていきます。
Supabaseの主な機能
ここでは、Supabaseで何ができるのかを、機能やプロダクトとともに紹介していきます。
①データベース機能
PostgreSQLを基盤としたリレーショナルデータベースを提供しており、SQLクエリやリレーショナルデータベースのフル機能を活用することが可能です。よって、効率的で柔軟にデータベース管理することができます。
②リアルタイム同期
データベースへ即座に変更を加えた場合、アプリを利用するクライアントやユーザーに対してリアルタイムでアプリの状態を同期することが可能です。 そのことから、リアルタイム性が求められるアプリケーションの開発に適しています。
③認証機能
Supabase Authという機能を利用することで、外部認証サービスを利用することなく簡単に、アプリ内にユーザー認証を実装することができます。
④ストレージ機能
アプリケーション内でのファイルの保存や管理を容易にするサービスです。あらゆるファイルに対応してサイズや表示速度などを自動で最適化して保存することができます。一方でアクセス制限や署名付きURLの作成などもできるため、安全かつ効率的にファイルの管理をすることができます。
⑤ベクトル検索エンジン機能
AIアプリケーションの開発を支援するために提供されている機能です。 OpenAI、Hugging Face、LangChainなどのAIプロバイダーと連携されています。
⑥Edge Function(低レイテンシーでのプログラムコード実行機能)
ユーザーに地理的に近いサーバー側の処理を実行することで、遅延を少なくし、高いパフォーマンスを出すことができます。
Supabaseのメリット・デメリットを踏まえて活用シーンを紹介
この章では、これらの機能を踏まえた上で、Supabaseのメリット・デメリットを解説していきます。
メリット
- オープンソースであるためコードの透明性が高い
Supabaseはオープンソースであり、内部の仕組みやコードが開発者に公開されているため、必要に応じて他の環境に移行したり、自社でカスタマイズしやすいのが特徴です。そのため、特定のサービスに依存し、他のサービスに移行することが困難であるベンダーロックインの状態になる可能性が低いことも挙げられます。 - オールインワンでバックエンド機能を提供している
Supabaseには先程主な機能で紹介したデータベース、認証、ストレージ、エッジ関数といった主要なバックエンド機能が統合されているため、バックエンドのセットアップを一からする必要がありません。特にMVP(顧客に価値を提供できる最小限のプロダクト)やプロトタイプの開発時に、各サービスを個別に調整する手間を省くことができます。 - サーバーレスでのカスタムロジックの追加が容易
Supabaseはサーバーレス環境であるため、サーバーのセットアップや管理の手間がかかりません。また、独自の処理をEdge Functionとして簡単に追加できるので、特定のルールや機能をすぐに実装できます。例えば、外部APIからのデータ取得や、認証チェックなどをすぐにサービスに組み込むことができます。
デメリット
- Firebaseなど以前からあるソフトと比べて、機能が発展途上の部分もある
Supabaseには、基本的なバックエンド機能は揃っていますが、エンタープライズ向けの高度なセキュリティ機能や監査機能など未成熟な部分もあります。 - PostgreSQLに慣れていない場合、学習コストが発生する場合がある
Supabaseでは、データベースとしてPostgreSQLを採用しています。PostgreSQLの操作にはSQLの知識が必要であり、不慣れな開発者にとっては学習コストです。 - NoSQLではないためスケーラビリティが求められるアプリ開発には向かない
SupabaseはPostgreSQLを採用しており、リレーショナルデータベースであるため、整合性を維持できるように原則単一サーバーでデータを管理することになっています。そのため、NoSQLとは違ってデータベースの拡張が容易ではありません。そのため、データやユーザーが急増すると想定されるアプリには不向きな仕様となっています。
Supabseが向いている開発シーン
ここでは、特にSupabseが特に役立つ開発シーンを紹介していきます。
- MVPやプロトタイプの開発
Supabaseを利用することで、バックエンド機能を個別にセットアップする必要がありません。そのため、短期間でバックエンド機能を準備することができ、MVPやプロトタイプの開発に最適です。 - 複雑なデータモデルを扱う中規模プロジェクト
PostgreSQLを採用していることから、データの整合性を保ったまま効率的にデータを管理することができます。また、データやユーザーが急増しないような、中規模前後のプロジェクトに適しています。
次の章からはSupabaseの料金プランを紹介するとともに、他の主要BaaSツールとの比較をおこなっていきます。
Supabaseと他主要BaaSツールとの比較
Supabaseの料金プラン
Supabaseには無料プランを含めて4つのプランがあります。それぞれ、料金と利用できる機能をまとめています。
注意点として、Freeプランの場合、プロジェクトが1週間非アクティブの状態になると、プロジェクトが一時停止されてしまいます。そのため、開発を実際に行うとすると最も人気でもあるProプランがおすすめです。
4つのプラン | 価格 | 主な機能 | データベース | ユーザー数 | サポート |
Free | 無料 | ・無制限のAPIリクエスト ・1GBのファイルストレージ ・5 GB の帯域幅 | ・500 MBまでのデータダウンロード可能 | ・月間アクティブユーザー数50,000人まで | ・コミュニティによるサポート ・自動バックアップはなし |
Pro | 25ドル/月 | Freeプラン+ ・250GBの帯域幅 ・100GBのファイルストレージ | ・8GBのまでダウンロード可能 | ・月間アクティブユーザー数10万人 | ・7日間のバックアップとログ保存 ・メールサポート |
Team | 599ドル/年 | Proプラン+ ・SOC2基準のセキュリティ ・HIPAAは有料で拡張可能 ・シングル サインオンの提供 | 要問合せ | 要問合せ | ・バックアップ14日間、28日間のログ保存 ・優先メールサポートとSLA |
Enterprise | 要相談 | カスタム制 | 要問合せ | 要問合せ | ・オンプレミスサポート ・24時間365日のサポート |
次に、主要なBaaSツールと、Supabaseとの比較を行っていきます。
他ツールとの比較
ここでは、Supabaseと他の主要なBaaSツール、FirebaseとAWS Ampilifyとを比較していきます。
Supabase | Firebase | AWS Amplify | |
リリース年 | 2020年 | 2011年 | 2018年 |
開発元 | Supabase | AWS | |
データベース | PostgreSQL | NoSQL | NoSQL |
オープンソース | 〇 | ✕ | 〇 |
ロックイン | 〇 | ✕ | ✕ |
料金プラン | ・無料プランあり ・定額制 | ・無料プランあり ・従量課金制 | ・無料プランあり ・従量課金制 |
主な機能 | ・認証 ・ストレージ ・データベース ・Edge Function ・ベクター | ・認証 ・データベース ・ストレージ ・クラウド関数 ・アクセス解析 | ・認証 ・アナリティクス ・API ・データストア ・通知機能 |
向いているケース | ・中小規模のプロジェクト ・MVPやプロトタイプの開発 ・柔軟にサービスを連携したい場合 | ・シンプルで小規模のモバイルアプリなど ・今後大幅に拡張する予定のアプリ ・GCPのサービスを連携したい場合 | ・今後大幅に拡張する予定のアプリ ・AWSのサービスと連携したい場合 |
Supabaseはオープンソースであることに加え、ロックインリスクも少ないです。 Firebaseと異なり、AWS Amplifyもオープンソースではありますが、AWSのサービスに依存していることもありロックインリスクがSupabaseに比べて高いです。
よって、ロックインリスクを回避し、柔軟に開発をしたい場合などは、Supabaseが向いています。一方で、GCPのサービスやAWSのサービスと連携したい場合は、それぞれFirebase、AWS Amplifyが適しています。
また、Supabaseのデータベースがリレーショナルデータであることも踏まえると、今後大幅にアプリを拡張していきたい場合などは、FirebaseやAWS Amplifyが向いていると言えるでしょう。
まとめ
今回は、Supabaseをメインに紹介してきました。Supabaseは、比較的新しいBaaSですが、今後さまざまな機能の追加や拡充が期待されており、ますます利用者は増えていくでしょう。メリット・デメリットの側面を踏まえて、ぜひ開発に役立てていただければと思います。
アプリ開発はGenAiにおまかせ!3日でアプリを作ります。
株式会社GenAiは、ノーコード/ローコードツールを用いたスピード感ある開発が得意領域です。
具体的には、GenAiではプラットフォーム依存の少ないローコードツールである「FlutterFlow」をメインに、自由度や拡張性を兼ね備えた独自の「ブレンド開発」という手法での開発を行っています。
また、GenAiのブレンド開発では、3日でアプリを作ることができるのがポイントです!
スピード感を担保しつつ、柔軟に開発をしたいという方はぜひ一度、株式会社GenAiにご相談ください。
新規事業アプリ開発をリードいただけるエンジニアを募集!
また、GenAi株式会社ではエンジニアを募集中です。
GenAiには、自社プロダクト開発や、他社向けのアプリケーション開発などの案件があり、フルスタックエンジニアを目指せる環境が整っています。
現在のメンバーは、社員メンバーと業務委託含め20名ほど。人数がまだまだ少ないからこそ実現できるチャレンジや、裁量の大きさ、ひとりひとりが業務に集中できる環境です。
エンジニアは未経験から募集しているので、ぜひこちらから詳細をご覧ください。