最終更新:

【2026年版】Supabaseの始め方 — 無料で始めるバックエンド開発の完全ガイド


Supabase アーキテクチャ クライアント React / Next.js Vue / Svelte SDK Supabase Auth 認証・OAuth Database テーブル・RLS Storage ファイル保存 Realtime WebSocket Edge Functions Deno Runtime PostgreSQL 本格的なRDB 拡張機能対応 SDKを通じて各サービスにアクセス → すべてPostgreSQLが基盤
Supabaseアーキテクチャのイメージ
ひよこ ひよこ

最近「Supabase」ってよく聞くけど、どんなサービスなの?

ペンギン先生 ペンギン先生

SupabaseオープンソースのBaaS(Backend as a Service)で、Firebaseの代替として人気が出てきたサービスだよ。データベース、認証、ストレージ、リアルタイム通信、Edge Functionsといったバックエンド機能がひとまとめになっていて、無料プランでも十分に使えるんだ。中身はPostgreSQLという本格的なデータベースが動いているから、将来的にスケールしても安心だよ。

ひよこ ひよこ

Firebaseと似てるんだね!始めるにはどうすればいいの?

ペンギン先生 ペンギン先生

supabase.comにアクセスしてGitHubアカウントでサインアップするだけだよ。ログインしたら「New Project」ボタンを押して、プロジェクト名とデータベースパスワードリージョン(東京もあるよ)を選べばOK。2〜3分でプロジェクトが立ち上がって、ダッシュボードからすぐに操作できるようになるんだ。

ひよこ ひよこ

テーブルを作るのも画面からできるの?SQLを書かなきゃいけないのかな?

ペンギン先生 ペンギン先生

Table Editorという機能があって、スプレッドシートみたいな感覚でテーブルを作れるよ。カラム名、型、デフォルト値をGUIでポチポチ設定するだけ。もちろんSQL Editorもあるから、慣れてきたらSQLで直接操作することもできるんだ。たとえば「todos」テーブルを作って、id・title・is_complete・user_idといったカラムを追加する、みたいな流れだね。

ひよこ ひよこ

データベースセキュリティはどうなってるの?誰でもデータを見られちゃったら怖いよね…?

ペンギン先生 ペンギン先生

そこで登場するのがRLS(Row Level Security)だよ。テーブルごとに「誰がどの行を読み書きできるか」をポリシーとして設定できるんだ。たとえば「ログインしたユーザーは自分のデータだけ読める」というルールをSQLで書くと、それ以外のアクセスは自動的にブロックされる。SupabaseではRLSがデフォルトで有効になっているから、ポリシーを設定しないとデータが読めない安全設計になっているよ。

ひよこ ひよこ

認証機能もあるんだね!メールアドレス以外でもログインできるの?

ペンギン先生 ペンギン先生

メール・パスワード認証はもちろん、GoogleGitHubAppleDiscordなど多くのOAuthプロバイダに対応しているよ。ダッシュボードの「Authentication」からプロバイダを有効にして、クライアントIDとシークレットを設定するだけ。JavaScript SDKを使えば「supabase.auth.signInWithOAuth」を呼ぶだけでソーシャルログインが実装できるんだ。マジックリンク(メールでワンタイムURLを送る方式)にも対応しているよ。

ひよこ ひよこ

リアルタイム機能ってどういうことなの?チャットみたいなことができるの?

ペンギン先生 ペンギン先生

そのとおり。Supabaseのリアルタイムサブスクリプションを使うと、データベースの変更を即座にクライアントへ通知できるよ。たとえばチャットアプリで新しいメッセージがINSERTされたら、他のユーザーの画面にも自動で表示される、というしくみ。SDKで「supabase.channel」を使ってテーブルの変更をリッスンするだけで実装できるんだ。WebSocketベースだから遅延もほとんどないよ。

ひよこ ひよこ

Edge Functionsっていうのも気になるな…。サーバーサイドの処理が必要なときに使うの?

ペンギン先生 ペンギン先生

そうだよ。Edge FunctionsはDeno Runtimeで動くサーバーレス関数で、外部APIとの連携や決済処理、メール送信みたいな「クライアントに置きたくない処理」を実行できるんだ。Supabase CLIで「supabase functions new」コマンドを叩くとTypeScriptテンプレートが生成されて、「supabase functions deploy」でデプロイできる。世界中のエッジロケーションで実行されるからレスポンスも速いよ。

ひよこ ひよこ

フロントエンドからSupabaseを使うにはどうするの?

ペンギン先生 ペンギン先生

公式のJavaScript SDKが用意されていて、「npm install @supabase/supabase-js」でインストールできるよ。createClientにプロジェクトURLとanon keyを渡してクライアントを作ったら、「supabase.from('todos').select('*')」のようにメソッドチェーンでデータを取得できるんだ。ReactNext.jsVueSvelteなど主要フレームワーク向けのガイドも公式ドキュメントに揃っているよ。

ひよこ ひよこ

無料プランだとどのくらいまで使えるの?制限が気になるな…。

ペンギン先生 ペンギン先生

無料プランでも500MBのデータベース容量、1GBのストレージ、月5GBの転送量、50万回の認証リクエストが使えるから、個人開発や学習用途なら十分だよ。プロジェクトは2つまで作れる。本番運用に移行するときはProプラン(月25ドル〜)にアップグレードすればいいし、中身がPostgreSQLだから最悪別のサービスに移行することもできる。ベンダーロックインが少ないのがSupabaseの大きな強みだね。