階段 8 · 上線與維運(部署)
Backup 備份
保留資料副本,避免誤刪、故障或攻擊造成永久損失。
先用一句話理解
保留資料副本,避免誤刪、故障或攻擊造成永久損失。
打個比方
像重要文件影印一份放保險箱。
什麼時候會遇到
有客戶資料、訂單、付款紀錄、內容資料或正式服務時。
再往深一點看
Backup(備份)是定期把資料庫或重要資料複製一份存到獨立的地方,讓你在發生意外時能還原到某個時間點的狀態。它和 rollback 的差別在於:rollback 是退回程式碼版本(部署層面),backup 是恢復資料本身(資料層面)——兩者解決的不是同一個問題,程式碼可以 rollback 但誤刪的資料只能靠 backup 救回。備份需要關注三個問題:備份頻率(多久備一次?每天還是每小時?)、備份保留時間(留多久?)、還原流程(真的壞了能在幾分鐘內還原嗎?)。大多數 managed 資料庫(Supabase、Neon、PlanetScale)有自動備份,但免費方案通常只保留幾天,且不一定支援時間點還原(PITR);付費計畫才有更長保留期和更細的還原粒度。備份測試和備份本身同樣重要——沒有還原演練過的備份等同於不存在的保險。
舉個例子
你的 SaaS 用 Supabase,開啟了每日自動備份並保留 7 天。某天工程師執行了一個 migration 腳本把使用者偏好設定欄位全清空,因為有備份,你能把資料庫還原到前一天的快照,損失的只有那一天的新增資料,而不是所有使用者的設定。
常見誤解
- - 以為用了 Supabase 或 Neon 就自動有完整備份,但免費方案的備份保留期只有幾天,或備份功能根本需要升級才能開啟,等到需要還原才發現根本沒有可用的備份。
- - 有備份但從來沒實際演練過還原流程,真的出事時才第一次在壓力下找還原文件,發現步驟複雜或需要等待雲端支援,損失時間和資料。
- - 只備份資料庫,但沒有備份使用者上傳的檔案(存在 S3 或 Cloudflare R2 的圖片、文件),資料庫還原後這些檔案的記錄有了但實際檔案不見了,應用程式顯示一堆壞掉的連結。
相關名詞
相關服務
SupabaseNeonAWS