自社で作っている業務アプリ 「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つではないでしょうか。
- やめるときに、データを持って出られるか
- 権限の設定を間違えたときに、どこで止まるか
うちがSupabaseを選んだのは、この2つに答えがあったからです。機能が多いからではありません。
なお、この会社のホームページのほうは別の作りをしています。そちらはサーバーの選び方とAstroを選んだ話に書きました。
この記事はAIの下書きに担当者が手を入れたものです。料金や仕様は変わりますので、導入をご検討の際は必ず公式の情報をご確認ください。
