託管 vs 自託管
你可以自己在一臺伺服器上執行資料庫,也可以租用一個託管的(Supabase、Neon、PlanetScale、RDS、Cloudflare D1),由提供商來處理備份、打補丁和正常執行時間。
對於 vibe coding,始終從託管開始。 自託管一個數據庫意味著你現在要為備份、安全更新、磁碟空間,以及凌晨 3 點的恢復負責。那是真正的運維工作,會從構建中分散你的精力。託管服務花一點錢,卻能節省巨大的時間和風險。只有當你有了具體的理由以及足以支撐的技能時,才晉級到自託管。
挑選託管提供商時,值得知道你實際在為什麼付費,因為各家的營銷頁面看起來都差不多。有幾點確實不同:
- 連線模型。 無伺服器平臺(Cloudflare Workers、Vercel functions)會不停地開啟和關閉資料庫連線,這可能耗盡經典的 Postgres 連線池。Neon 和 Supabase 這樣的提供商正是為此提供了連線池器(PgBouncer 或同類)——在無伺服器程式碼裡使用池化的連線字串。
- 分支與備份。 Neon 和 PlanetScale 讓你能像 一樣給資料庫"開分支",這樣你可以在副本上測試遷移。確認時間點恢復(point-in-time recovery)已開啟,並搞清楚它能回溯多久。
- 鎖定(lock-in)。 D1 和 DynamoDB 很出色,但會把你綁在一個雲上。純 Postgres(Supabase、Neon、RDS)是可移植的——你的 schema 和查詢能搬到任何 Postgres 主機上。對大多數初學者來說,可移植是更安全的長期選擇。