← 回到文章列表
·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 完勝。