本文介紹PolarDB MySQL版備份與恢複功能的常見問題。
備份
備份物理空間大小與備份邏輯大小是如何計算的?
PolarDB的備份有兩個容量資料,一個是每個備份的邏輯大小(下圖中的②),一個是全部備份的物理空間大小(下圖中的①)。
邏輯大小:一致性快照時間點(下圖中的③)的資料量(資料+日誌)大小。
物理空間大小:備份快照鏈的大小。PolarDB的備份採用增量快照鏈機制,該機制保留了歷史每個時刻的快照狀態。因此,當資料區塊有修改時,系統會將歷史版本的資料區塊保留給快照。同時,只有在前面的快照到期時,快照鏈上的資料才會減少。
樣本:假設叢集資料量為100 GB。一級備份/資料備份的備份周期為每天1次,備份保留時間長度為3天。
日期
資料修改過程
儲存空間資料大小
對應快照鏈(備份物理空間)大小
周一
新增資料量100 GB
100 GB+100 GB=200 GB
+0 GB=0 GB
說明此處未考慮周一之前的快照鏈(備份物理空間)大小。
請注意,在實際情境中,增量不會為0 GB。快照引用的資料區塊可能是沒有寫完的資料區塊,如果新的資料需要寫入這些被快照引用的資料區塊,則會複製出一份新的資料區塊進行寫入。因此,在快照產生後進行資料寫入也會導致快照鏈(備份物理空間)的大小增加。
周二
修改資料量1 GB,並新增資料量1 GB
200 GB+1 GB=201 GB
0 GB+1 GB=1 GB
周三
刪除資料量100 GB
說明刪除的資料為周一新增的資料。
201 GB-100 GB=101 GB
1 GB+100 GB=101 GB
周四
修改資料量1 GB,並新增資料量1 GB
101 GB+1 GB=102 GB
101 GB+1 GB=102 GB
周五
修改資料量1 GB,並新增資料量1 GB
102 GB+1 GB=103 GB
102 GB+1 GB=103 GB
說明此時,周一的快照已到期。然而,快照鏈(備份物理空間)的大小並不會減少,系統將繼續保留歷史版本的資料區塊,以供周二的備份組使用。
周六
修改資料量1 GB,並新增資料量1 GB
103 GB+1 GB=104 GB
103 GB+1 GB-100 GB=4 GB
說明此時,周二的快照已到期。由於周三刪除了周一新增的資料,系統將不再保留歷史版本的資料區塊,所以快照鏈(備份物理空間)的大小將減少100 GB。
說明以上樣本僅供參考,樣本中僅以叢集中的業務資料為例,並未考慮系統檔案。請根據實際情況為準。
若您想要降低備份物理空間大小,在業務使用(資料區塊的修改頻率)保持原狀的情況下,可以減少備份周期及保留時間長度。具體資訊,請參見如何降低一級備份、二級備份和記錄備份的資料量和費用?

一級備份/資料備份物理空間大小是否為所有備份邏輯大小之和?
不是。一級備份與資料備份的說明如下:
一級備份
一級備份物理空間大小(下圖中的①)不是所有備份邏輯大小(下圖中的②)之和,而是指所有一級備份(快照)獨佔的物理空間大小之和。

資料備份
資料備份物理空間大小(下圖中的①)不是所有備份邏輯大小(下圖中的②)之和,而是指所有資料備份(快照)獨佔的物理空間大小之和。

為什麼一級備份/資料備份物理空間大小比單個備份組還要小?
PolarDB的備份有兩個容量資料,一個是每個備份組的邏輯大小,一個是全部備份的物理大小。PolarDB的備份採用快照鏈的機制,相同的資料區塊只會記錄一份,因此總物理大小要小於邏輯大小,有時候甚至會小於單個備份邏輯大小。
PolarDB備份有哪些費用?
一級備份/資料備份、二級備份以及記錄備份的儲存空間費用。其中一級備份/資料備份和記錄備份預設開啟,並贈送一定的免費空間。二級備份預設關閉。具體資訊,請參見備份儲存(超出免費額度)。
一級備份/資料備份的費用怎麼算?
備份費用根據您叢集的存储类型而定。
ESSD雲端硬碟(PL0、PL1、PL2、PL3及AutoPL)
公式:每小時費用=(資料備份總大小-免費額度)×每小時價格
免費額度:儲存空間容量× 50%
樣本:以中國內地為例,資料備份總大小為700 GB,資料庫儲存用量為1000 GB,那麼每小時費用為[700 GB-(1000 GB×50%)]×0.00003231美元/GB/小時=0.006462美元/小時。 具體資訊,請參見備份儲存(超出免費額度)。
PSL4/PSL5
公式:每小時費用=(一級備份總大小-免費額度)×每小時價格
免費額度:不同存储付费类型下免費額度的計算公式有所差異。具體公式如下所示:
按空間計費(訂用帳戶):儲存空間容量× 50%。
按容量計費(隨用隨付):儲存用量× 50%。
樣本:以中國內地的儲存類型PSL5為例,一級備份(快照)總大小為700 GB,資料庫儲存用量為1000 GB,那麼每小時費用為[700 GB-(1000 GB×50%)]×0.000464美元/GB/小時=0.0928美元/小時。 具體資訊,請參見備份儲存(超出免費額度)。
如何降低一級備份、二級備份和記錄備份的資料量和費用?
適當縮短備份資料的保留時間長度。具體操作請參見備份原則設定。
縮短一級備份的保留時間長度,如從7天縮短為3天。
縮短二級備份的保留時間長度,如從70天縮短為30天。
說明縮短一級和二級備份的保留時間長度存在一定風險,若您需要恢複的備份組超出了該保留時間長度,則無法進行恢複。
縮短記錄備份的保留時間長度,如從7天縮短為3天。
說明縮短記錄備份的保留時間長度存在一定風險,若您需要恢複的備份組超出了該保留時間長度,則無法進行按時間點恢複。
適當降低備份頻率(即備份周期)。具體操作請參見備份原則設定。
降低一級備份的頻率,如從每天備份一次降低為每周三次。
說明降低一級備份的頻率可能會增加按時間點恢複資料的恢複時間長度。
降低二級備份的頻率,如從每周備份三次降低為每周兩次。
刪除叢集資源回收筒中不再需要的備份組,從而降低二級備份的費用。具體請參見刪除備份。
手動備份僅支援一級備份嗎?
是的。
手動備份保留時間長度是多久?
手動備份的備份檔案的保留時間長度,由备份策略设置中数据备份的一级备份/二级备份設定的备份保留时长決定。

如何查看二級備份的大小?
您可以在控制台上配置与管理 > 备份恢复頁面数据备份列表頁簽下查看二級備份的大小。

叢集釋放後,如何查看保留的備份組?
若您的叢集釋放時,選擇了長期保留備份組,您可以前往PolarDB控制台上的叢集資源回收筒內查看。具體資訊,請參考叢集資源回收筒。

如何將備份組下載到本地?
您可以通過下載備份檔案,將叢集的備份檔案下載至本地。但下載的備份資料無法直接用於恢複到PolarDB MySQL版叢集,可以用於從備份檔案恢複到自建MySQL資料庫。
如何將備份檔案長期歸檔至OSS?
如何設定備份失敗的警示?
當前產品暫不支援直接配置備份失敗警示。您可自行實現警示機制,例如通過定期調用DescribeBackups介面,擷取備份任務的 BackupStatus 欄位,判斷其狀態(如是否為 Failed),並基於該結果觸發自訂警示(如郵件、簡訊或監控平台通知)。
物理日志备份列表為什麼是空的?
PolarDB叢集的物理日誌指的是Redo日誌。Redo日誌的每個檔案固定為1 GB大小,只有在寫滿1 GB後才會觸發備份。如果叢集剛建立不久或叢集的訪問量較少,導致1 GB的Redo日誌尚未寫滿,則不會觸發備份,因此在物理記錄備份列表中將看不到相應的記錄。
恢複
支援自訂恢複後的新庫或新表的名稱嗎?
支援。
沒有資料備份可以按時間點恢複嗎?
不可以。因為按時間點恢複是先將所選時間點前的一個全量資料備份恢複到叢集,然後根據Redo日誌增量恢複資料到所選時間點。
開啟TDE的叢集支援使用跨地區備份恢複功能嗎?
支援。
跨地區恢複後的叢集支援開啟TDE功能嗎?
支援。
資料庫恢複後的表會影響原有資料庫嗎?
不會影響。PolarDB MySQL版特定庫表恢複會在當前叢集中重新建立一個新的庫表進行恢複操作。