Notes

OSノート

アプリ開発

小さい会社がSupabaseを選んだ理由 ― 良かったところと、気をつけていること

小さい会社がSupabaseを選んだ理由 ― 良かったところと、気をつけていること
※写真はイメージです(写真AC

自社で作っている業務アプリ 「anken.ai」 は、データの置き場所に Supabase を使っています(開発の記録はこちら)。

工事会社です。サーバーの面倒を見る専任の担当者はいません。それでもアプリを持ちたい、という条件で選びました。同じ立場の方の参考になるかもしれないので、選んだ理由と、怖いと思っているところを書いておきます。

Supabaseとは何か(3行で)

  • PostgreSQL というデータベースを、そのままインターネット越しに使えるようにしたサービス
  • ログイン機能、写真などのファイル置き場、サーバー側の処理が最初から付いてくる
  • 無料の枠があり、そこから始められる

「データベースの箱と、その周りで必ず必要になるもの一式」だと思えばだいたい合っています。

良かったところ

1. 中身が普通のPostgreSQLであること

これが一番大きいと思っています。

独自の仕組みではなく、世の中で広く使われているPostgreSQLそのものです。つまり、書いたSQLもデータの構造も、他所に持っていけます。

小さい会社にとって、これは保険です。**サービスが値上げされても、方針が変わっても、最悪サービスが終わっても、データを抱えて出ていける。**逆に言えば、出ていけない仕組みには最初から乗らない、というのがうちの判断でした。

2. 権限をデータベース側で持てること

このシステムは、将来的に他社にも使っていただく前提で作っています。A社の人がB社の案件を見られるようなことがあれば、それだけで終わりです。

Supabaseでは RLS(Row Level Security) というPostgreSQLの機能が使えます。公式の説明では「すべての問い合わせに WHERE 句が自動で足されるようなもの」と書かれています。

大事なのは、これがアプリ側ではなくデータベース側で効くことです。画面のプログラムを書き間違えても、データベースが「あなたにはこの行を出しません」と止めてくれます。人数が少なく、レビューしてくれる相手がいない環境では、この「最後の砦」が要ると考えました。

3. ログインを自分で作らなくていい

パスワードの保存、再設定メール、招待。自前で作ると必ずどこかを間違える類のものが、最初から用意されています。

4. 型が自動で作られる

データベースの構造から、プログラムで使う型定義を自動生成できます。テーブルの列名を変えたら、その列を使っている画面が書いている途中で赤くなる。人数の少ない開発では、これがそのまま人手の代わりになります。

5. 写真の置き場所とサーバー処理も同じところに

施工前後の写真はファイル置き場(Storage)へ。外部サービスとのやり取りやAIに任せる処理は、サーバー側の処理(Edge Functions)へ。契約先が1つで済むのは、管理する側としては率直にありがたいです。

料金(2026年8月16日時点)

公式サイトに載っている内容です。

無料 Pro
月額 0ドル 25ドル
データベース容量 500MB 8GB
ファイル置き場 1GB 100GB
転送量 5GB 250GB
ログインユーザー数 5万人/月 10万人/月
サーバー処理の回数 50万回/月 200万回/月
使わないと止まるか 1週間で一時停止 停止しない

この上に Team(月599ドル)と Enterprise があります。

試すぶんには無料で十分です。ただし後述のとおり、無料のまま業務で使うのは別の話だと考えています。

料金は変わります。ご覧の時点の金額は公式の料金ページでご確認ください。

気をつけていること

都合の良い話だけでは意味がないので、こちらも書きます。

1. RLSを有効にし忘れると、丸見えになる

公式のドキュメントが、はっきり警告しています。公開スキーマのテーブルはAPIから見えるので、RLSを必ず有効にすること。

つまり、テーブルを1つ足して、権限の設定を忘れた瞬間に、そのテーブルは外から読める状態になり得ます。便利さと危うさが同じ場所にあります。

うちでは、テーブルを追加したら権限の設定までを1セットにする、という決めごとにしています。それでも「忘れていないか」は定期的に見直す必要があると思っています。

2. 無料プランは1週間で止まる

1週間使わないとプロジェクトが一時停止します。試している間は問題ありませんが、業務で使うなら有料に上げるのが前提です。「無料で運用できる」と考えると足をすくわれます。

3. 開発用と本番用を分けていない(これはうちの落ち度)

現時点で、開発中に触っているデータベースと本番のデータベースが同じです。いまは自社しか使っていないので実害は出ていませんが、**最初のお客様が入る前に必ず分けます。**手元の積み残しメモにも、そう書いてあります。

これはSupabaseの問題ではなく、こちらの段取りの問題です。

4. 他社に預けている、という事実は変わらない

データを外部のサービスに置いている以上、その会社の都合の影響は受けます。「PostgreSQLだから出ていける」と書きましたが、**出ていく作業が発生しないわけではありません。**バックアップを自分の側にも持っておくことは、別に考える必要があります。

同じ立場の方へ

自社で業務アプリを持ちたい、けれどサーバー担当者はいない。そういう会社にとって、この種のサービスは現実的な選択肢だと思います。

判断するときに見たほうがいいのは、機能の数より次の2つではないでしょうか。

  1. やめるときに、データを持って出られるか
  2. 権限の設定を間違えたときに、どこで止まるか

うちがSupabaseを選んだのは、この2つに答えがあったからです。機能が多いからではありません。

なお、この会社のホームページのほうは別の作りをしています。そちらはサーバーの選び方Astroを選んだ話に書きました。


この記事はAIの下書きに担当者が手を入れたものです。料金や仕様は変わりますので、導入をご検討の際は必ず公式の情報をご確認ください。

一覧へ戻る

まずは、お話をお聞かせください。

図面や写真がなくても構いません。お部屋の状況とご希望の時期を伺えれば、そこからご案内できます。お見積りと現地確認は無料です。

チャットは24時間、AIがお受けします/担当者からのご連絡は 平日 9:00〜18:00 に1〜2営業日以内