本文へ移動
BenriWorks Lab

Supabase

PostgreSQLをベースにデータベースや認証を提供するバックエンドサービス。端末内保存では成立しないLiveBriefにのみ使っています。まずサーバーを持たずに済むかを先に検討する、という使い分けの記録です。

Supabase公式サイト(外部サイト)

Supabaseは、PostgreSQLをベースにデータベースや認証などの機能を提供するバックエンドサービスです。BenriWorksでは、個人向けブリーフィングサービス「LiveBrief」のバックエンドとして使用しています。

BenriWorksでの立ち位置:バックエンドは最後の手段

BenriWorksのアプリは「データをユーザーの端末から出さない」ことを基本方針にしています。学習アプリの進捗も、白地図の編集内容も、育児記録も、ブラウザのlocalStorageにのみ保存し、サーバーを持ちません。サーバーレスならぬ「サーバー不要」が第一選択です。

それでもバックエンドが必要になるのは、データの性質が端末保存と合わない場合です。LiveBriefは日々の情報を自動で要約して届けるサービスで、ユーザーがブラウザを開いていない時間にもデータの収集・蓄積が進む必要があります。「端末の外で時間が流れる」タイプのアプリは、localStorageでは原理的に成立しません。ここで初めてSupabaseが登場します。

この使い分け自体が、個人開発の設計判断として重要だと考えています。バックエンドを持った瞬間に、データベースの管理・障害対応・個人情報の保護責任が発生し、保守コストの桁が変わります。「Supabaseを使えば簡単にバックエンドが作れる」は事実ですが、個人運用では「そもそもバックエンドを持たずに済むか」を先に検討する価値があります。

マネージドPostgreSQLとしての利点

その前提のうえで、バックエンドを持つと決めた場面でSupabaseを選んでいる理由は、素のPostgreSQLがそのまま使えることです。独自のデータモデルやクエリ言語を覚える必要がなく、SQLの知識と資産がそのまま通用します。行レベルセキュリティ(RLS)でアクセス制御をデータベース層に置けるため、アプリケーションコードの検証漏れがそのままデータ漏洩に直結しない構造にできる点も、個人開発では安心材料です。

LiveBriefは現在、個人利用の範囲で運用しており一般提供はしていません。運用のなかで得られた設計判断や、無料枠での運用の実際といった知見は、確認でき次第、開発記事として発信していく予定です。なお、本サイトBenriWorks Lab自体はデータベースを使わない静的構成のため、Supabaseは使用していません。

この技術を使うアプリ

関連記事