# AWS - Aurora MySQL Cluster Backtracking
# Aurora MySQL Cluster Backtracking
Aurora MySQL Backtracking 是讓你在『不做 restore 不用 snapshot』的情況下,把資料庫直接倒回到過去某個時間點
簡單來説就是即時 rollback,不中斷服務
# Backtracking 解決什麼問題
常見事故
- 人為誤刪資料 (DELETE/UPDATE 沒有 WHERE)
- 應用程式 bug 寫錯資料
- 想快速回到『幾分鐘前的狀態』
傳統做法
- Restore Snapshot (慢,要新 Cluster)
- PITR (耗時,影響營運)
Aurora Backtracking
- 直接在同一個 Cluster 內回到過去
- 幾秒~幾分鐘完成
# 運作原理
Aurora Storage 是
- 分散式 log-based 儲存
- 所有變更都有 redo log
Backtracking 背後在做
- Replay 所有 redo log 到指定時間點
- 不需要建立 snapshot
- 不需要建立新 Instance
僅 rollback 資料變更,不 rollback DDL 結構變更
# Backtracking 特性
| 項目 | 說明 |
|---|---|
| 支援引擎 | Aurora MySQL only |
| 是否即時 | 秒~分鐘 |
| 是否影響連線 | 否 不中斷 |
| 是否需要 snapshot | 否 |
| 是否需要建立新 DB | 否 |
| 最大 rollback 時間 | 72hr |
|