本文為您介紹PolarDB-X備份與恢複的功能介紹和計費方式。
備份功能
備份類型
PolarDB-X的備份由資料備份和記錄備份組成。
資料備份:系統對資料進行備份,並產生備份組,目前採用的是物理備份。您可以恢複備份組所在時間點的資料。
記錄備份:也叫增量備份,備份了記錄資料變更的Binlog日誌。
開啟記錄備份後,基於“資料備份+記錄備份”,您可以恢復範圍內任意時間點(精確至秒)的資料。例如,執行個體中建立了2021年01月01日00:00:01的資料備份集以及該時間之後的日誌,則可以恢複2021年01月01日00:00:01以來任意時間點(精確至秒)的資料。
備份方式
PolarDB-X支援自動備份與手動備份兩種方式。
自動備份:系統自動定期觸發的資料備份。
自動備份策略預設開啟且無法關閉,包括資料備份和記錄備份。
資料備份預設為每周備份兩次(周一與周四),記錄備份持續進行,無需設定頻率。您可以設定自動執行備份的時間段和周期。
手動備份:僅支援在控制台手動觸發資料備份。
自動備份的頻率最低為每周一次。
前一次的手動備份完成後才能進行下一次的手動備份。
備份存放位置
資料備份:存放於阿里雲提供的備份空間,不佔用執行個體的儲存空間,預設保留30天。
記錄備份:暫存於執行個體的儲存空間,超過一定時間後(預設7小時)或者一定的空間後(執行個體儲存空間的30%)會上傳至阿里雲提供的備份空間,預設保留7天。
您可以設定本地記錄備份的保留原則,避免記錄備份佔用過多儲存空間,詳情請參見備份操作。
備份影響
PolarDB-X備份在儲存節點的備節點執行,不佔用主節點CPU,備節點不承接業務流量,因此不影響執行個體效能。
少數情況下,備節點不可用時,備份會在主節點執行。
恢複功能
恢複方式
PolarDB-X支援按備份組恢複和按時間點恢複兩種資料恢複方式。
按備份組恢複:依賴資料備份恢複資料,僅支援將資料恢複至資料備份的時刻。
按時間點恢複:依賴資料備份+記錄備份恢複資料,支援將資料恢複至備份時間範圍內的任意時間點(精確至秒)。例如,執行個體有2021年01月01日00:00:01的資料備份集以及該時間之後的日誌,則可以恢複2021年01月01日00:00:01以來任意時間點(精確至秒)的資料。
恢複資料的位置
PolarDB-X當前僅支援恢複資料至新執行個體,恢複完成後建議通過DTS等工具將資料導回原執行個體。
新執行個體的白名單設定、備份設定、參數設定和當前執行個體保持一致。
新執行個體內的資料與備份檔案或指定恢復點時的資料一致。
新執行個體帶有備份檔案或時間點當時的帳號資訊。
新執行個體的拓撲與原執行個體一致,即節點個數相同。
全域一致性
PolarDB-X是一款分散式資料庫,資料存放在多個儲存節點(DN)上,當分散式交易存在的情況下,恢複後的執行個體需要保證多個儲存節點間的資料一致性。下圖通過轉賬測試給出了全域一致性的樣本:
PolarDB-X中存放了一張使用者的賬戶餘額表,該表的資料分布在兩個儲存節點中,總的賬戶金額是200美元。業務持續地使用分散式交易在不同的帳號間進行轉賬。
某一時刻(2021-07-25 16:14:20),賬戶B向賬戶A轉賬了30美元,賬戶D向賬戶C轉賬了20美元。如果將資料恢複至該時刻,全域一致性要求恢複出的資料要麼是轉賬前的狀態,要麼是轉賬完成後的狀態,即賬戶的總金額需仍為200美元(如恢複2),不能出現轉賬過程中的資料狀態(如恢複1),恢複1中賬戶總金額為250美元,資料是全域不一致的。