有“備”無患,互聯網“黑天鵝”事件殺手鐗來了! 一、有“備”方可無患 二、有效的數據庫備份策略 三、數據庫備份的分類 四、阿里雲數據庫備份DBS 五、“戰績”頗豐 六、小結

作者:延瑛,阿里雲數據庫高級技術專家

一、有“備”方可無患

今年黑天鵝事件接踵而至,世界範圍史無前例的新冠疫情,原油和諸多因素引發美股8天3次熔斷,蝗蟲,澳洲火災等等,誰也不知道今年還會有什麼發生。互聯網行業今年也經歷了幾次黑天鵝事件:

有些人可能心存僥倖,惡性事件沒有發生在自己身上。然而《隨機漫步的傻瓜》提出了一個觀點:你的成功不見得是因爲比其他人高明,而很可能是運氣的結果。隨機現象比比皆是,大起大落只是發生在須臾之間。
最大的風險,不是你想到的風險,而是你做夢也想不到的巨大風險。歷史表明,最大風險往往是“黑天鵝”事件

很多互聯網企業對數據庫的數據安全意識不強,還沒有充分意識到數據是企業的核心資產。企業數據庫的數據是企業日常運營的心血。既有可能因爲程序日常迭代帶來的bug,導致數據庫數據寫髒,也有可能因爲員工出現異常情緒,頂着極大法律風險刪庫跑路。不論是意外影響還是有意破壞,都有可能導致這份核心資產不可用,日常工作功虧一簣。

數據庫備份是保護這份核心數據資產的有效保護手段。制定嚴謹的備份計劃,可以讓你優雅的掌控隨機現象,不需要靠一兩個英雄人物力挽狂瀾。微盟和某雲廠商花了整整7天才搶救恢復了所有數據,力挽狂瀾值得稱讚,但是更需要深思,畢竟力挽狂瀾仍然有可能結果不如人意。備份安全措施應做到日常規劃中,成爲重要而不緊急的事情,根據企業定義的目標和節奏逐步完成。

二、有效的數據庫備份策略

備份恢復的方案很多,下面是SHARE提出來的7層恢復能力,能力越強,價值越高,成本也越高。備份恢復有很強的專業性,尤其是在數據庫領域,數據的一致性,任意時間點恢復,表級別甚至行級別的恢復,恢復的操作流程等都是難點。不同的平臺上不同的數據庫的備份方案也不盡相同。

SHARE 7層恢復能力詳見
https://en.wikipedia.org/wiki/Business_continuity_planning#cite_note-33

備份策略通常遵循321原則(也叫3R原則):

  • Redundancy:同一數據至少保留三份,包括原數據;
  • Replication:保存到二種以上存儲介質上,比如光盤、硬盤、雲存儲;
  • Remote:至少有一份異地備份,本地災難後還可恢復。

數據庫備份是較爲專業的備份領域,需要關注備份的可恢復性,一致性,RPO,RTO等等。

數據庫跟普通文件不同,由於數據庫有緩存,事務,日誌的機制,直接備份數據庫所有的磁盤文件,恢復時可能根本打不開數據庫。

RPO跟備份策略有關係,最近一次的備份調度週期影響了最近可用的恢復點,同時數據庫日誌的備份可以幫助實現任意時間點的恢復。

RTO跟備份方式和恢復策略有關,業界最強可以做到任意大庫(甚至是分佈式數據庫)秒級恢復,在本文後面會介紹到秒級恢復。

三、數據庫備份的分類

通常備份廠商提供的數據庫備份都是物理備份,實際上,根據備份數據的獲取方式,數據庫備份可以分爲邏輯備份物理備份

  • 物理備份:將數據庫的數據文件和日誌文件備份出來,需要藉助數據庫的備份恢復接口、操作系統的增量數據獲取方法以及一致性保障方法進行備份,難點在於如何無入侵獲取全量和增量數據。如果把數據庫以文件的方式備份出來,那麼這個數據庫大概率是拉不起來的。一些商業數據庫如Oracle等備份恢復內容和流程較爲複雜,需要豐富的數據庫運維經驗。

  • 邏輯備份:將數據庫的全量和實時增量數據轉化成一種中間格式,恢復到不同版本和不同的數據庫中。難點在於如何無鎖地獲取一致性全量數據,以及如何解析出實時增量數據。全量備份可以藉助數據庫的dumper/loader實現,但通常這些dumper需要對數據庫上鎖以獲得一致性備份點。實時增量數據通常是藉助日誌解析實現的,其他方法如物化視圖、trigger等都對業務有一定影響,開源數據庫可以通過一些開源工具解析出實時增量數據,但是穩定的工具並不多,而商業化數據庫的日誌解析也都不開放。

根據數據庫的數據和文件特性,又可將數據庫備份分爲數據備份日誌備份

🔸 數據備份:全量、增量和差異備份

  • 全量備份:所有數據的備份。

  • 增量備份:最近一次全量或者增量備份之後的新增數據備份。恢復時,需要回放最近一次全量備份以及這次全量之後的所有增量。增量備份減少了用戶備份的數據量,避免頻繁的全量備份帶來的開銷。

  • 差異備份:最近一次全量之後的新增數據,跟增量備份不同的是,不論最近一次全量之後有多少次差異備份,新增數據都是從最近一次全量之後的變化數據,所以多次差異備份之間是逐步疊加的過程。恢復時,需要回放最近一次全量備份以及最近一次差異備份。

🔸 日誌備份:藉助日誌備份可以實現任意時間點的一致性備份。

例如,SQL Server的物理備份可以提供全量、差異、日誌備份能力:

如果具備增量合併和歷史數據打快照的能力,則可實現一次全量永久增量,每一個增量備份點都能提供全量數據,以更小的備份代價實現更快的恢復速度。儘管如此,爲了保障備份恢復正確性,通常還是會週期性做全量,只是會減少全量週期的頻率。

在備份策略的選擇中,物理備份相對邏輯備份在恢復的速度上更快,邏輯備份相對物理備份在恢復的版本和用途上更靈活,兩種備份手段最終都可以實現行級別恢復;通過全、增、差、日誌組合的備份計劃,一方面考慮備份的成本,一方面考慮恢復的速度,不管是備份的原始全量還是合併出來的全量,全量週期都是恢復的關鍵因素之一。

四、阿里雲數據庫備份DBS

不同場景多種方案

備份恢復的產品在過去較長時間都是幾個頭部的大廠壟斷,Data Domain,Veritas等,支持數據庫、文件、VM等數據源的全增量備份,藉助自己的存儲和重刪技術保留在本地或分佈式文件系統中,並支持長期歸檔到磁帶庫和藍光盤等歸檔媒介裏。

過去幾年,虛擬化技術帶來了新的備份恢復形態,湧現了一些rubrik和cohesity等創新的廠商。不管是傳統還是新型備份廠商,都會藉助雲廠商的對象存儲等低價存儲方案來替代磁帶庫和光盤塔成爲歸檔和異地備份的存儲媒介。長期來說,雲廠商由於同時具備數據庫和VM的生產資料,雲廠商的備份恢復的生態將會更加豐富。

DBS是阿里雲出品的一款數據庫備份產品:

  • 完善和安全的自動備份機制:全量、增量和日誌備份,邏輯備份和物理備份,傳輸和存儲加密,數據CRC校驗;
  • 高性能恢復機制:秒級恢復,雲容災,一鍵恢復到RDS MySQL和SQL Server;
  • 低成本的備份存儲:可靠的存儲,熱數據有快照和秒級掛載,冷數據能長期歸檔;
  • 無死角備份冗餘:跨地域、跨賬戶、跨雲備份,本地手工和自動下載
  • 開放的備份數據:數據湖DLA,秒級掛載,支持業務的各種分析和開發測試需求,盤活冷數據。

DBS可以幫助客戶實現跨雲、線下備份到雲上、阿里雲自建ECS以及雲數據庫等不同環境的數據庫備份。

客戶可能會面臨不同需求,例如:藉助備份上雲可以實現雲上無限存儲容量;可以藉助極致彈性實現大促或者定時報表分析等按需計算的需求;可以解決多雲多環境冗餘等數據安全的需求;亦可以藉助備份恢復實現開發測試、線上驗證等隔離環境搭建。

DBS目前支持Oracle、MySQL、SQL Server、PG、MongoDB、Redis、雲原生數據庫PolarDB和雲原生分佈式數據庫PolarDB-X的備份恢復。

物理備份需要安裝DBS的備份網關,備份恢復性能佳:

  • Oracle,支持多流併發備份和掛載備份兩種模式的物理備份,掛載備份可秒級掛載。

  • MySQL,支持多流併發物理備份和秒級掛載。

  • SQL Server,支持多庫物理備份。

而邏輯備份是無入侵和無鎖備份,備份恢復的版本和粒度更爲靈活,可支持表/SQL級別備份,同時備份的全量數據可被數據湖DLA分析,並通過DLA實現行級別恢復。

部分備份的數據可以一鍵恢復到阿里雲數據庫,例如,MySQL邏輯備份一鍵恢復到RDS,SQL Server物理備份一鍵恢復到RDS。可以按需創建和釋放RDS,實現恢復演練,按需查詢,彈性計算等功能。不論源端數據庫在什麼環境,都可以享受到雲數據庫的彈性和穩定性。

MySQL和Oracle備份的秒級掛載的功能,正在內測,歡迎大家試用。藉助備份數據的秒級掛載,可搭建豐富的應用生態,保障生產庫小而美,解決一些業務痛點和頑疾,比如可實現非生產環境的秒級恢復,可實現應用之間隔離避免環境相互影響,可幫助業務快速搭建開發測試環境等,還可拉起精準時間點的數據庫實例進行數倉分析,數據拖取,複雜計算等等。

針對最近互聯網的一系列黑天鵝解決刪庫跑路事件,針對RDS和ECS的用戶,我們推出了跨賬戶備份的能力

企業的管理層可以經過授權將數據備份到自己的獨立賬戶中,實現CEO/CTO和運維人員之間權責分離,運維和歸檔數據和操作分離,避免人工誤操作,多一份保障,企業管理者可以多一份安心。

五、“戰績”頗豐

DBS爲企業數據安全保駕護航

DBS產品上線至今,服務了衆多大、中、小型企業,也幫助企業解決過種種異常情況,從本地硬件故障到程序員開發bug刪錯數據等等。

1. DBS可以幫助客戶解決無心過失操作,例如某跨境券商程序員誤刪庫,通過DBS實現任意時間點恢復。

2. DBS可以幫助自建IDC的客戶實現低成本的異地容災方案,例如某二甲醫院藉助DBS實現異地備份,滿足國家二甲醫院等保規範。

3. DBS可以幫助線下客戶實現線上高可用方案,例如某大型家電企業藉助DBS實現雲備份和秒級恢復。

4. DBS可以幫助跨雲客戶實現跨地域和跨雲的容災,例如某運行在一線雲平臺的互聯網公司藉助DBS實現多雲冗餘,另某運行在非一線雲平臺的互聯網公司藉助DBS實現多雲備份和容災。

5. DBS可以幫助線下客戶實現無限容量,例如電商行業數據保存3年的要求,藉助DBS實現備份上雲無限存儲容量,而且可以任意時間點恢復到線下或者雲上。

六、小結

DBS旨在保護生產數據最後一道生命線,並將持續推出新的安全保護措施。DBS還將推送系列文章,針對產品特性的細節再展開,歡迎關注!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章