VCA

選資料庫:D1 vs Postgres vs SQLite

三個新手最常遇到的資料庫怎麼選:各自適合什麼、免費怎麼算,以及不要想太多的選法。

發布於 更新於 審閱於 閱讀約 1 分鐘編輯方針#實作指南#資料庫#選型

一句話解釋

SQLite 最簡單、Postgres 最全能、D1 最貼 Cloudflare。多數新手專案,先選最簡單能用的那個就好。

你會做出什麼

一個清楚的判斷:你的專案該用哪個資料庫、為什麼——不再被選擇癱瘓。

先說結論

新專案不要糾結太久:選「最簡單、又能滿足你需求」的那個就好。資料庫之間沒有絕對的好壞,只有適不適合現在的你。

一句話分清楚

  • SQLite:一個檔案就是整個資料庫,零設定、超簡單,跑在你的程式旁邊。
  • PostgreSQL:功能最完整、用的人最多、生態最大,能從小撐到非常大。
  • D1:Cloudflare 出的、以 SQLite 為基礎的雲端資料庫,跟 Pages / Workers 無縫整合,免費額度友善。

比一比

維度SQLitePostgreSQLD1
上手難度最低中等低(會 SQLite 就會)
適合規模小到中小到非常大小到中(持續成長中)
部署隨程式打包需要一台資料庫伺服器Cloudflare 上原生
免費本來就免費看你用哪家代管有免費額度
跟 Cloudflare無直接整合需外接原生、最順

怎麼選

  • 純學習、本機小工具 → SQLite
  • 要部署在 Cloudflare、想一條龍 → D1
  • 需要複雜查詢、大量併發寫入、或想要最成熟的生態 → PostgreSQL

好消息:它們其實很像

這三個都是 SQL 資料庫,基本的「建表、查詢、新增、修改」語法大致通用(D1 本身就是 SQLite)。所以先用簡單的開始,真的長大需要搬家時,沒有想像中可怕——但也不是零成本,所以一開始選對量級還是值得花五分鐘想清楚。

下一步

常見問題

新手不知道用哪個,預設選哪個最安全?

選「最簡單、又能滿足需求」的那個:純學習或本機小工具用 SQLite;要部署在 Cloudflare 上就用 D1(會 SQLite 就會用)。需要複雜查詢、大量併發寫入或最成熟生態時,才考慮 PostgreSQL。

以後資料變多,換資料庫會很痛嗎?

三者都是 SQL、基本語法相通(D1 本身就是 SQLite),所以搬遷沒想像中可怕——但也不是零成本,資料搬移、語法差異與停機都要處理。所以一開始把「量級」選對,比事後搬家划算,值得花五分鐘想清楚。

參考來源

  1. Cloudflare D1 DocumentationCloudflare
  2. PostgreSQL DocumentationPostgreSQL Global Development Group
  3. SQLite DocumentationSQLite