·1 min
為什麼用 Cloudflare D1,而不是 Postgres
一個個人專案的資料庫選型筆記,從成本、延遲、與資料導出三個面向。
如果你 Google「best database for SaaS」,跳出來的答案多半是 Postgres。 但 Namecard Agent 選了 Cloudflare D1。原因不是 Postgres 不好,是對個人專案來說,trade-off 不一樣。
成本
- D1:免費額度涵蓋一個個人專案綽綽有餘。
- Postgres on Neon / Supabase:免費額度足夠,但跨 region latency 不可忽視。
延遲
API 跑在 Cloudflare Worker,D1 跟 Worker 在同一個 edge runtime,SQL query latency 通常 < 5ms。 換成跨雲 Postgres,光是 TCP handshake 就吃掉幾十毫秒。
資料導出
D1 有 wrangler d1 export,產出 SQL dump,扔進 SQLite 即可離線分析。
資料屬於我自己,這對個人專案很重要。
什麼時候不選 D1?
- 需要複雜的全文搜尋(FTS5 在 D1 還是 preview)
- 大量 concurrent writes(D1 是 SQLite,不適合高頻寫)
- 需要
pg_*生態(向量、PostGIS 等)
對 Namecard Agent 這種「讀多寫少」的場景,D1 完勝。