GeminiDB PITR執(zhí)行數(shù)據(jù)快照業(yè)務(wù)無感,通常可在5分鐘以內(nèi)恢復(fù)到指定時(shí)間點(diǎn),有效解決傳統(tǒng)備份方案時(shí)間長(zhǎng)、恢復(fù)粒度大等痛點(diǎn)問題。
本文分享自華為云社區(qū)《GeminiDB PITR,讓游戲回檔“進(jìn)退自如”!》,作者:GaussDB 數(shù)據(jù)庫(kù)。
在實(shí)際業(yè)務(wù)場(chǎng)景中,客戶數(shù)據(jù)庫(kù)難免會(huì)出現(xiàn)數(shù)據(jù)損毀、數(shù)據(jù)丟失、數(shù)據(jù)誤刪除等故障場(chǎng)景。為保障業(yè)務(wù)的正常運(yùn)行,通常需要將數(shù)據(jù)庫(kù)恢復(fù)到故障發(fā)生前的某一個(gè)正常時(shí)刻。傳統(tǒng)數(shù)據(jù)庫(kù)采取周期性備份策略,即在系統(tǒng)故障時(shí)對(duì)數(shù)據(jù)進(jìn)行恢復(fù)。因其數(shù)據(jù)恢復(fù)耗時(shí)較長(zhǎng),可恢復(fù)時(shí)間顆粒度較大,導(dǎo)致客戶業(yè)務(wù)受損嚴(yán)重。
PITR(Point-in-Time Recovery),是指數(shù)據(jù)庫(kù)的“時(shí)間點(diǎn)恢復(fù)”功能。它是一種數(shù)據(jù)庫(kù)恢復(fù)技術(shù),通常用于恢復(fù)誤刪除的數(shù)據(jù)或者誤操作導(dǎo)致?lián)p壞的數(shù)據(jù),將其恢復(fù)到一個(gè)指定時(shí)間點(diǎn)的數(shù)據(jù)狀態(tài)。
以游戲場(chǎng)景為例,在游戲運(yùn)行期間,有玩家利用游戲漏洞非法復(fù)制裝備、貨幣,使游戲公平性遭到破壞。傳統(tǒng)數(shù)據(jù)庫(kù)備份頻率一般是一天全備一次,備份間隔即一整天,不僅恢復(fù)時(shí)間長(zhǎng)、時(shí)間粒度大,甚至無法恢復(fù)到想要時(shí)間點(diǎn)等。而GeminiDB Redis接口新增的PITR特性能夠讓游戲數(shù)據(jù)快速回檔,可根據(jù)客戶自定的備份粒度,最低支持5分鐘粒度,自行選擇需要恢復(fù)的時(shí)間點(diǎn),實(shí)現(xiàn)數(shù)據(jù)的快速恢復(fù)。
GeminiDB Redis接口的PITR功能不涉及數(shù)據(jù)的拷貝,備份任務(wù)業(yè)務(wù)無感知,不影響數(shù)據(jù)訪問,讓客戶業(yè)務(wù)更加穩(wěn)健。
GeminiDB Redis接口快照原理是通過記錄文件系統(tǒng)的狀態(tài)來實(shí)現(xiàn)的,而不是通過復(fù)制文件本身來實(shí)現(xiàn)的,是瞬時(shí)生成的;快照存儲(chǔ)當(dāng)前時(shí)刻的底層數(shù)據(jù)的元數(shù)據(jù)信息,比如數(shù)據(jù)塊信息、尋址信息等,形成快照。因此,當(dāng)打高速數(shù)據(jù)快照時(shí),業(yè)務(wù)可以繼續(xù)運(yùn)行,而不會(huì)受到任何影響。
在實(shí)際測(cè)試中,基于客戶業(yè)務(wù)6w的并發(fā)數(shù)據(jù)量對(duì)數(shù)據(jù)庫(kù)進(jìn)行訪問,開啟GeminiDB Redis接口PITR功能,以最小粒度5分鐘執(zhí)行一次快照。
下面是4個(gè)時(shí)間點(diǎn)每隔5分鐘執(zhí)行一次快照結(jié)果(以下為UTC時(shí)間,監(jiān)控時(shí)間+8):
觀察可知,QPS,CPU,內(nèi)存,P99時(shí)延均無波動(dòng),對(duì)客戶業(yè)務(wù)無影響。
PITR數(shù)據(jù)快照文件可以在本地保存,不用上傳到冷存儲(chǔ)介質(zhì),因此,不涉及數(shù)據(jù)的拷貝搬遷,還可支持隨時(shí)數(shù)據(jù)恢復(fù)。
PITR恢復(fù),數(shù)據(jù)恢復(fù)時(shí)長(zhǎng)與數(shù)據(jù)大小無關(guān),能快速恢復(fù)數(shù)百GB數(shù)據(jù),通?稍5分鐘以內(nèi)恢復(fù)數(shù)據(jù),保證客戶業(yè)務(wù)可靠性。除此以外,PITR還可多次前后恢復(fù),恢復(fù)到指定時(shí)間點(diǎn)后,既可向前,也可向后,讓客戶使用更省心。
我們分別測(cè)試了8U3節(jié)點(diǎn)實(shí)例,數(shù)據(jù)100GB和200GB的回檔速度。
開源Redis使用多進(jìn)程寫時(shí)復(fù)制機(jī)制來實(shí)現(xiàn)快照的持久化。在持久化過程中,調(diào)用fork()產(chǎn)生一個(gè)子進(jìn)程,fork()會(huì)阻塞Redis長(zhǎng)達(dá)數(shù)百毫秒,對(duì)業(yè)務(wù)產(chǎn)生抖動(dòng);fork()的寫時(shí)復(fù)制技術(shù)(COW)會(huì)造成內(nèi)存過度使用。如果fork()期間產(chǎn)生大量的寫操作,會(huì)導(dǎo)致內(nèi)存嚴(yán)重浪費(fèi)甚至OOM,通常內(nèi)存利用率不足50%。而GeminiDB Redis接口的PITR特性不涉及數(shù)據(jù)的拷貝搬遷,因此,對(duì)業(yè)務(wù)基本無影響,且具有快照速度快,數(shù)據(jù)穩(wěn)定,安全等特點(diǎn)。
在控制臺(tái),實(shí)例詳情頁(yè)->備份恢復(fù)->設(shè)置恢復(fù)到指定時(shí)間點(diǎn)策略,即可打開。備份時(shí)間間隔最低支持5分鐘,最高支持120分鐘,保留天數(shù)最大支持7天。
實(shí)例詳情頁(yè)->備份恢復(fù)->恢復(fù)到指定時(shí)間點(diǎn),便可本實(shí)例快速恢復(fù)到指定時(shí)間點(diǎn)。
GeminiDB PITR執(zhí)行數(shù)據(jù)快照業(yè)務(wù)無感,通常可在5分鐘以內(nèi)恢復(fù)到指定時(shí)間點(diǎn),尤其是在業(yè)務(wù)異常場(chǎng)景可快速回退,降低損失,有效解決傳統(tǒng)備份方案時(shí)間長(zhǎng)、恢復(fù)粒度大等痛點(diǎn)問題。因此,GeminiDB在游戲、金融等行業(yè)有著廣泛應(yīng)用。
未來,GeminiDB Redis接口會(huì)進(jìn)一步支持并完善數(shù)據(jù)恢復(fù)至某個(gè)秒級(jí)的時(shí)間點(diǎn)功能。也將持續(xù)致力于開發(fā)更多好用的企業(yè)級(jí)特性,幫助客戶輕松運(yùn)維,高效開發(fā)。我們期待與全球的企業(yè)和開發(fā)者合作,共同探索數(shù)據(jù)的未來,推動(dòng)技術(shù)和業(yè)務(wù)的發(fā)展。
點(diǎn)擊關(guān)注,第一時(shí)間了解華為云新鮮技術(shù)~
小編推薦閱讀機(jī)器學(xué)習(xí):神經(jīng)網(wǎng)絡(luò)構(gòu)建(下)
閱讀華為Mate品牌盛典:HarmonyOS NEXT加持下游戲性能得到充分釋放
閱讀實(shí)現(xiàn)對(duì)象集合與DataTable的相互轉(zhuǎn)換
閱讀鴻蒙NEXT元服務(wù):論如何免費(fèi)快速上架作品
閱讀算法與數(shù)據(jù)結(jié)構(gòu) 1 - 模擬
閱讀5. Spring Cloud OpenFeign 聲明式 WebService 客戶端的超詳細(xì)使用
閱讀Java代理模式:靜態(tài)代理和動(dòng)態(tài)代理的對(duì)比分析
閱讀Win11筆記本“自動(dòng)管理應(yīng)用的顏色”顯示規(guī)則
閱讀本站所有軟件,都由網(wǎng)友上傳,如有侵犯你的版權(quán),請(qǐng)發(fā)郵件[email protected]
湘ICP備2022002427號(hào)-10 湘公網(wǎng)安備:43070202000427號(hào)© 2013~2025 haote.com 好特網(wǎng)