檔案儲存 Storage
Storage 專門存放圖片、影片、PDF 等大型檔案,和資料庫分工合作。
屬於路線SaaS 路線
一句話解釋
Storage 是專門放『大檔案』(圖片、影片、PDF)的倉庫,與資料庫分工。
白話文說明
圖片、影片、PDF 這類「大檔案」不適合塞進資料庫,會讓資料庫又肥又慢。它們應該放進專門的物件儲存(Object Storage),例如 Cloudflare R2、AWS S3。
常見做法是:檔案本身放在 Storage,資料庫只記錄「這個檔案的網址或編號」。需要顯示時,前端直接用網址去 Storage 拿,又快又省。要特別注意權限——私密檔案不能讓任何人猜到網址就下載。
架構圖
運作流程
該放資料庫還是檔案儲存?
拿不定主意時,照「資料的形狀」來分:
- 結構化紀錄——使用者、訂單、文章、留言——放進資料庫,方便查詢、排序與建立關聯。
- 大型檔案——圖片、影片、PDF、附件——放進檔案/物件儲存,它就是為這類龐大的二進位資料而生。
兩者搭配運作:資料庫存的是指向檔案的連結(網址或編號),而不是檔案本身。
重點整理
- 大檔案放 Storage,資料庫只存網址或編號。
- 分工讓資料庫保持輕快、Storage 負責容量。
- 私密檔案務必設定存取權限,別讓人猜網址就能下載。
生活化比喻
資料庫像櫃台的登記簿,Storage 像後方的大型倉庫;登記簿只記『東西放在幾號架』。
優勢
- 適合存放大檔案,成本低、容量大
- 可直接透過網址提供檔案,速度快
- 與資料庫分工,各司其職
缺點
- 權限沒設好,私密檔案可能被公開存取
- 需要管理檔案命名與生命週期
適用場景
- 需要上傳頭像、相片、影片、附件的應用
- 靜態網站的圖片與資源託管
不適用場景
- 需要複雜查詢與關聯的結構化資料(那是資料庫的事)
新手評分卡
- 新手推薦度
- 4/5
- 學習成本(分數越高=成本越高)
- 3/5
- 市場需求
- 4/5
- AI 生成友善度
- 4/5
常見問題
檔案(圖片、影片)也存在資料庫嗎?
不要。資料庫存「文字與數字」;圖片影片這類大檔案放物件儲存(如 Cloudflare R2、S3),資料庫只存它的網址。
物件儲存和一般硬碟有什麼不同?
物件儲存透過網路用網址存取、幾乎無限擴充、按用量計費,適合放使用者上傳的檔案;本機硬碟在 serverless 環境一重啟就沒了。
怎麼讓圖片載入更快?
把檔案放物件儲存,再搭配 CDN 快取到離使用者最近的節點;圖片也記得壓縮並使用現代格式(WebP/AVIF)。
SaaS 路線 的下一步: PostgreSQL →