VCA

檔案儲存 Storage

Storage 專門存放圖片、影片、PDF 等大型檔案,和資料庫分工合作。

更新於 閱讀約 1 分鐘編輯方針#系統基礎#檔案#儲存
屬於路線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