openGauss學(xué)習(xí)筆記-145 openGauss 數(shù)據(jù)庫運(yùn)維-備份與恢復(fù)-備份與恢復(fù)概述145.1 邏輯備份與恢復(fù)145.2 物理備份與恢復(fù)145.3 閃回恢復(fù)145.4 三種備份恢復(fù)類型對比145.5 備份方案與策略
openGauss學(xué)習(xí)筆記-145 openGauss 數(shù)據(jù)庫運(yùn)維-備份與恢復(fù)-備份與恢復(fù)概述
數(shù)據(jù)備份是保護(hù)數(shù)據(jù)安全的重要手段之一,為了更好的保護(hù)數(shù)據(jù)安全螺戳,openGauss數(shù)據(jù)庫支持三種備份恢復(fù)類型,以及多種備份恢復(fù)方案鲫寄,備份和恢復(fù)過程中提供數(shù)據(jù)的可靠性保障機(jī)制。
備份與恢復(fù)類型可分為邏輯備份與恢復(fù)埠胖、物理備份與恢復(fù)摩泪、閃回恢復(fù)。
145.1 邏輯備份與恢復(fù)
通過邏輯導(dǎo)出對數(shù)據(jù)進(jìn)行備份蓬豁,邏輯備份只能基于備份時刻進(jìn)行數(shù)據(jù)轉(zhuǎn)儲,所以恢復(fù)時也只能恢復(fù)到備份時保存的數(shù)據(jù)菇肃。對于故障點(diǎn)和備份點(diǎn)之間的數(shù)據(jù)地粪,邏輯備份無能為力,邏輯備份適合備份那些很少變化的數(shù)據(jù)琐谤,當(dāng)這些數(shù)據(jù)因誤操作被損壞時蟆技,可以通過邏輯備份進(jìn)行快速恢復(fù)。如果通過邏輯備份進(jìn)行全庫恢復(fù)斗忌,通常需要重建數(shù)據(jù)庫质礼,導(dǎo)入備份數(shù)據(jù)來完成,對于可用性要求很高的數(shù)據(jù)庫织阳,這種恢復(fù)時間太長眶蕉,通常不被采用。由于邏輯備份具有平臺無關(guān)性唧躲,所以更為常見的是造挽,邏輯備份被作為一個數(shù)據(jù)遷移及移動的主要手段。
145.2 物理備份與恢復(fù)
通過物理文件拷貝的方式對數(shù)據(jù)庫進(jìn)行備份弄痹,以磁盤塊為基本單位將數(shù)據(jù)從主機(jī)復(fù)制到備機(jī)饭入。通過備份的數(shù)據(jù)文件及歸檔日志等文件,數(shù)據(jù)庫可以進(jìn)行完全恢復(fù)肛真。物理備份速度快谐丢,一般被用作對數(shù)據(jù)進(jìn)行備份和恢復(fù),用于全量備份的場景。通過合理規(guī)劃乾忱,可以低成本進(jìn)行備份與恢復(fù)讥珍。
145.3 閃回恢復(fù)
利用回收站的閃回恢復(fù)刪除的表。數(shù)據(jù)庫的回收站功能類似于windows系統(tǒng)的回收站饭耳,將刪除的表信息保存到回收站中串述。利用MVCC機(jī)制閃回恢復(fù)到指定時間點(diǎn)或者CSN點(diǎn)执解。
145.4 三種備份恢復(fù)類型對比
以下為openGauss支持的三類數(shù)據(jù)備份恢復(fù)方案寞肖,備份方案也決定了當(dāng)異常發(fā)生時該如何恢復(fù)。
表 1 三種備份恢復(fù)類型對比
備份類型 | 應(yīng)用場景 | 支持的介質(zhì) | 工具名稱 | 恢復(fù)時間 | 優(yōu)缺點(diǎn) |
---|---|---|---|---|---|
邏輯備份與恢復(fù) | 適合于數(shù)據(jù)量小的場景衰腌⌒麦。可以備份單表和多表,單database和所有database右蕊。備份后的數(shù)據(jù)需要使用gsql或者gs_restore工具恢復(fù)琼稻。數(shù)據(jù)量大時,恢復(fù)需要較長時間饶囚。 | 磁盤SSD | gs_dump | 純文本格式數(shù)據(jù)恢復(fù)時間長帕翻。歸檔格式數(shù)據(jù)恢復(fù)時間中等。 | 導(dǎo)出數(shù)據(jù)庫相關(guān)信息的工具萝风,用戶可以自定義導(dǎo)出一個數(shù)據(jù)庫或其中的對象(模式嘀掸、表、視圖等)规惰。支持導(dǎo)出的數(shù)據(jù)庫可以是默認(rèn)數(shù)據(jù)庫postgres睬塌,也可以是自定義數(shù)據(jù)庫。導(dǎo)出的格式可選擇純文本格式或者歸檔格式歇万。純文本格式的數(shù)據(jù)只能通過gsql進(jìn)行恢復(fù)揩晴,恢復(fù)時間較長。歸檔格式的數(shù)據(jù)只能通過gs_restore進(jìn)行恢復(fù)贪磺,恢復(fù)時間較純文本格式短硫兰。 |
gs_dumpall | 數(shù)據(jù)恢復(fù)時間長。 | 導(dǎo)出所有數(shù)據(jù)庫相關(guān)信息工具寒锚,它可以導(dǎo)出openGauss數(shù)據(jù)庫的所有數(shù)據(jù)瞄崇,包括默認(rèn)數(shù)據(jù)庫postgres的數(shù)據(jù)、自定義數(shù)據(jù)庫的數(shù)據(jù)壕曼、以及openGauss所有數(shù)據(jù)庫公共的全局對象苏研。只能導(dǎo)出純文本格式的數(shù)據(jù),導(dǎo)出的數(shù)據(jù)只能通過gsql進(jìn)行恢復(fù)腮郊,恢復(fù)時間較長摹蘑。 | |||
物理備份與恢復(fù) | 適用于數(shù)據(jù)量大的場景,主要用于全量數(shù)據(jù)備份恢復(fù),也可對整個數(shù)據(jù)庫中的WAL歸檔日志和運(yùn)行日志進(jìn)行備份舞丛。 | gs_backup | 數(shù)據(jù)量小數(shù)據(jù)恢復(fù)時間快。 | 導(dǎo)出數(shù)據(jù)庫相關(guān)信息的OM工具浦箱,可以導(dǎo)出數(shù)據(jù)庫參數(shù)文件和二進(jìn)制文件大渤。幫助openGauss備份制妄、恢復(fù)重要數(shù)據(jù)、顯示幫助信息和版本號信息泵三。在進(jìn)行備份時耕捞,可以選擇備份內(nèi)容的類型,在進(jìn)行還原時烫幕,需要保證各節(jié)點(diǎn)備份目錄中存在備份文件俺抽。在數(shù)據(jù)庫實(shí)例恢復(fù)時,通過靜態(tài)配置文件中的數(shù)據(jù)庫實(shí)例信息進(jìn)行恢復(fù)较曼。只恢復(fù)參數(shù)文件恢復(fù)時間較短磷斧。 | |
gs_basebackup | 恢復(fù)時可以直接拷貝替換原有的文件, 或者直接在備份的庫上啟動數(shù)據(jù)庫捷犹,恢復(fù)時間快弛饭。 | 對服務(wù)器數(shù)據(jù)庫文件的二進(jìn)制進(jìn)行全量拷貝,只能對數(shù)據(jù)庫某一個時間點(diǎn)的時間作備份萍歉。結(jié)合PITR恢復(fù)侣颂,可恢復(fù)全量備份時間點(diǎn)后的某一時間點(diǎn)。 | |||
gs_probackup | 恢復(fù)時可以直接恢復(fù)到某個備份點(diǎn)翠桦,在備份的庫上啟動數(shù)據(jù)庫横蜒,恢復(fù)時間快。 | gs_probackup是一個用于管理openGauss數(shù)據(jù)庫備份和恢復(fù)的工具销凑。它對openGauss 實(shí)例進(jìn)行定期備份丛晌。可用于備份單機(jī)數(shù)據(jù)庫或者數(shù)據(jù)庫實(shí)例主節(jié)點(diǎn)斗幼,為物理備份澎蛛。 可備份外部目錄的內(nèi)容,如腳本文件蜕窿、配置文件谋逻、日志文件、dump文件等桐经。 支持增量備份毁兆、定期備份和遠(yuǎn)程備份。增量備份時間相對于全量備份時間比較短阴挣,只需要備份修改的文件气堕。當(dāng)前默認(rèn)備份是數(shù)據(jù)目錄,如果表空間不在數(shù)據(jù)目錄,需要手動指定備份的表空間目錄進(jìn)行備份茎芭。當(dāng)前只支持在主機(jī)上執(zhí)行備份揖膜。 | |||
閃回恢復(fù) | 適用于:1)誤刪除表的場景;2)需要將表中的數(shù)據(jù)恢復(fù)到指定時間點(diǎn)或者CSN梅桩。 | 無 | 可以將表的狀態(tài)恢復(fù)到指定時間點(diǎn)或者是表結(jié)構(gòu)刪除前的狀態(tài)壹粟,恢復(fù)時間快。 | 閃回技術(shù)能夠有選擇性的高效撤銷一個已提交事務(wù)的影響宿百,從人為錯誤中恢復(fù)趁仙。在采用閃回技術(shù)之前,只能通過備份恢復(fù)犀呼、PITR等手段找回已提交的數(shù)據(jù)庫修改幸撕,恢復(fù)時長需要數(shù)分鐘甚至數(shù)小時薇组。采用閃回技術(shù)后外臂,恢復(fù)已提交的數(shù)據(jù)庫修改前的數(shù)據(jù),只需要秒級律胀,而且恢復(fù)時間和數(shù)據(jù)庫大小無關(guān)宋光。閃回支持兩種恢復(fù)模式:基于MVCC多版本的數(shù)據(jù)恢復(fù):適用于誤刪除、誤更新炭菌、誤插入數(shù)據(jù)的查詢和恢復(fù)罪佳,用戶通過配置舊版本保留時間,并執(zhí)行相應(yīng)的查詢或恢復(fù)命令黑低,查詢或恢復(fù)到指定的時間點(diǎn)或CSN點(diǎn)赘艳。基于類似windows系統(tǒng)回收站的恢復(fù):適用于誤DROP克握、誤TRUNCATE的表的恢復(fù)蕾管。用戶通過配置回收站開關(guān),并執(zhí)行相應(yīng)的恢復(fù)命令菩暗,可以將誤DROP掰曾、誤TRUNCATE的表找回。 |
145.5 備份方案與策略
當(dāng)需要進(jìn)行備份恢復(fù)操作時停团,主要從以下四個方面考慮數(shù)據(jù)備份方案旷坦。
備份對業(yè)務(wù)的影響在可接受范圍。
-
數(shù)據(jù)庫恢復(fù)效率佑稠。
為盡量減小數(shù)據(jù)庫故障的影響秒梅,要使恢復(fù)時間減到最少,從而使恢復(fù)的效率達(dá)到最高舌胶。
-
數(shù)據(jù)可恢復(fù)程度捆蜀。
當(dāng)數(shù)據(jù)庫失效后,要盡量減少數(shù)據(jù)損失。
數(shù)據(jù)庫恢復(fù)成本漱办。
在現(xiàn)網(wǎng)選擇備份策略時參考的因素比較多这刷,如備份對象、數(shù)據(jù)大小娩井、網(wǎng)絡(luò)配置等暇屋,表2列出了可用的備份策略和每個備份策略的適用場景。
表 2 備份策略典型場景
備份策略 | 關(guān)鍵性能因素 | 典型數(shù)據(jù)量 | 性能規(guī)格 |
---|---|---|---|
數(shù)據(jù)庫實(shí)例備份 | 數(shù)據(jù)大小網(wǎng)絡(luò)配置 | 數(shù)據(jù):PB級對象:約100萬個 | 備份:每個主機(jī)80 Mbit/s(NBU/EISOO+磁盤)約90%磁盤I/O速率(SSD/HDD) |
表備份 | 表所在模式網(wǎng)絡(luò)配置(NBU) | 數(shù)據(jù):10 TB級 | 備份:基于查詢性能速度+I/O速度說明:多表備份時洞辣,備份耗時計算方式:總時間 = 表數(shù)量 x 起步時間 + 數(shù)據(jù)總量 / 數(shù)據(jù)備份速度 其中:磁盤起步時間為5s左右咐刨,NBU起步時間比DISK長(取決于NBU部署方案)。數(shù)據(jù)備份速度為單節(jié)點(diǎn)50MB/s左右(基于1GB大小的表扬霜,物理機(jī)備份到本地磁盤得出此速率)定鸟。表越小,備份性能更低著瓶。 |
?? 點(diǎn)贊联予,你的認(rèn)可是我創(chuàng)作的動力!
?? 收藏材原,你的青睞是我努力的方向沸久!
?? 評論,你的意見是我進(jìn)步的財富余蟹!