つい最近、「今週中にデータベース必要になった」という急な依頼が舞い込んできました。正直、AWS設定とかに何時間も費やすのは嫌だなって思ってたんですよ。その時に思い出したのがSupabaseです。
噂には聞いてたんですけど、実際に使うのは初めて。友人から「Firebase的な感じだけど、PostgreSQL使えるから便利」って聞いてたので、試しに触ってみることにしました。
初日:セットアップの簡単さに驚いた
朝9時にSupabaseの公式サイトにアクセスしました。Googleアカウントでサインアップして、プロジェクト作成ボタンをポチッと。設定画面が出てきて、データベースのリージョンを選ぶだけ。正直、10分で基本設定が完了しちゃいました。
ダッシュボードを開くと、テーブル作成画面が目の前に。UIが直感的で、「ここで列定義して、ここで行を追加する」って流れがすぐに理解できました。PostgreSQLの知識がちょっとあれば十分。
ユーザー管理機能も最初から付いてて、認証設定を有効にするのに5分もかかりませんでした。「えっ、これで本当に動く?」って疑いながら進めてました。
2日目:APIの自動生成に感動
翌日、JavaScriptのクライアントライブラリをインストール。npm install @supabase/supabase-js を実行して、認証情報を設定するだけで、REST APIが自動生成されていました。手で書く必要ゼロ。
```
const { data, error } = await supabase
.from('products')
.select('*')
```
こんなシンプルな書き方でデータベース操作ができる。最初は「本当にこんなだけで大丈夫?」と何度も試しました。でも確実に動いてます。
リアルタイム機能も試してみたら、データが変わると自動的にフロントエンド側が反応します。これ、普通なら仕組みを一から作る必要があるのに。感動しちゃいました。
3日目:本番環境へ
3日目はテスト兼本番環境への移行。エラーハンドリング周りで1時間ほど手こずりましたけど、ドキュメントがすごく充実してて、すぐに解決しました。
デプロイして、実際にユーザーがアクセスしてもシステムは安定してます。アクセス数は初日100件、2日目250件くらい。特に問題ナシ。
率直な感想:インフラに時間を使いたくない人向け
実装に3日費やしましたが、そのうち実はインフラ設定は1時間未満。残りは機能開発に使えました。これってめちゃくちゃ効率的だと思いませんか?
デメリットがないわけではないです。カスタマイズ性はFirebaseより高いけど、めちゃくちゃ複雑な要件には向いてないかもしれません。でも、80%のプロジェクトなら十分対応できる気がします。
スタートアップとか個人開発、プロトタイピングなら、Supabaseは本当におすすめです。次のプロジェクトでもまず選択肢に入れると思います。