選資料庫:D1 vs Postgres vs SQLite
三個新手最常遇到的資料庫怎麼選:各自適合什麼、免費怎麼算,以及不要想太多的選法。
一句話解釋
SQLite 最簡單、Postgres 最全能、D1 最貼 Cloudflare。多數新手專案,先選最簡單能用的那個就好。
你會做出什麼
一個清楚的判斷:你的專案該用哪個資料庫、為什麼——不再被選擇癱瘓。
先說結論
新專案不要糾結太久:選「最簡單、又能滿足你需求」的那個就好。資料庫之間沒有絕對的好壞,只有適不適合現在的你。
一句話分清楚
- SQLite:一個檔案就是整個資料庫,零設定、超簡單,跑在你的程式旁邊。
- PostgreSQL:功能最完整、用的人最多、生態最大,能從小撐到非常大。
- D1:Cloudflare 出的、以 SQLite 為基礎的雲端資料庫,跟 Pages / Workers 無縫整合,免費額度友善。
比一比
| 維度 | SQLite | PostgreSQL | D1 |
|---|---|---|---|
| 上手難度 | 最低 | 中等 | 低(會 SQLite 就會) |
| 適合規模 | 小到中 | 小到非常大 | 小到中(持續成長中) |
| 部署 | 隨程式打包 | 需要一台資料庫伺服器 | Cloudflare 上原生 |
| 免費 | 本來就免費 | 看你用哪家代管 | 有免費額度 |
| 跟 Cloudflare | 無直接整合 | 需外接 | 原生、最順 |
怎麼選
- 純學習、本機小工具 → SQLite。
- 要部署在 Cloudflare、想一條龍 → D1。
- 需要複雜查詢、大量併發寫入、或想要最成熟的生態 → PostgreSQL。
好消息:它們其實很像
這三個都是 SQL 資料庫,基本的「建表、查詢、新增、修改」語法大致通用(D1 本身就是 SQLite)。所以先用簡單的開始,真的長大需要搬家時,沒有想像中可怕——但也不是零成本,所以一開始選對量級還是值得花五分鐘想清楚。
下一步
- 補觀念:資料庫 Database
- 把資料表設計清楚:用 AI 設計資料庫
- 看各家資料庫細節:資料庫主題
常見問題
新手不知道用哪個,預設選哪個最安全?
選「最簡單、又能滿足需求」的那個:純學習或本機小工具用 SQLite;要部署在 Cloudflare 上就用 D1(會 SQLite 就會用)。需要複雜查詢、大量併發寫入或最成熟生態時,才考慮 PostgreSQL。
以後資料變多,換資料庫會很痛嗎?
三者都是 SQL、基本語法相通(D1 本身就是 SQLite),所以搬遷沒想像中可怕——但也不是零成本,資料搬移、語法差異與停機都要處理。所以一開始把「量級」選對,比事後搬家划算,值得花五分鐘想清楚。
參考來源
- Cloudflare D1 Documentation — Cloudflare
- PostgreSQL Documentation — PostgreSQL Global Development Group
- SQLite Documentation — SQLite