數據庫備份是個老生常談的話題,看似很簡單,但在實際操作過程中,運維人員往往會遇到這樣或那樣的坑。
那么,如今的數據庫備份有哪些挑戰?如何構建有效備份系統?有什么解決辦法?日前,小編就這些問題采訪了阿里巴巴數據庫事業部備份專家衡鐵剛(佩恩)。
1、先問個小白問題:數據庫為什么要備份?
衡鐵剛:時至今日,我認為這個問題已經不再是問題了,我換個問題來回答,數據庫備份能規避哪些風險?其實從數據誕生時起就伴隨著丟失風險,比如,自然災難、電力故障、網絡故障、硬件故障、軟件故障、人為故障等。
上面列舉了一大串風險,其現實意義是,你今天躲過了硬件bug,明天避開了雷劈,后天繞開了斷電,大后天還是可能會“手滑”碰到誤刪除。
2、數據庫備份有哪些挑戰?
衡鐵剛:首先,數據庫資產盤點,對于個人用戶,所有數據庫資產可能就是一個實例,不用盤點也非常清楚。對于企業用戶,特別是有一定規模的企業,由于業務多樣性,數據庫可能不止一個實例,甚至不止一種數據庫類型。運維人員需要搞清楚有哪些數據庫,分布在哪些環境,哪些是測試數據庫,哪些是生產數據庫,哪些是核心數據庫,跑著什么業務,務必做到心中有數。
接下來,備份系統評估,經常有人問,備份如此基礎、常規的工作,為什么總給人關鍵時刻掉鏈子的感覺呢?究其原因,備份作為基礎工作,不會對業務發展起到推動作用,不出問題就無人問津。反過來,一旦出問題,又立刻成為眾矢之的。對備份不重視、投入不足是導致其掉鏈子的主要原因。很多企業“備份重于一切”守則常掛嘴邊,然則口號震天響,風過了無痕。
建議大家立刻問下技術團隊:備份真的有效嗎?
3、什么是有效的備份系統?
衡鐵剛:因為數據庫用途不同,備份系統有效性也有所不同,從數據庫用途上,大體分為測試數據庫、生產數據庫和核心數據庫。
對于測試數據庫,首先要識別數據庫重要性,如果是個人測試用途,數據經常導入和清空,多數情況是不用備份的,如果是研發用途,建議開啟備份,不要輕視測試數據庫的備份,企業中所有開發、測試人員都在測試數據庫上工作,一旦數據出現問題,壓力撲面而來,同時我們也看到,測試數據庫出問題幾率往往高于生產數據庫。
對于生產數據庫,首先要確保備份開啟,其次評估備份周期是否滿足要求,比如每天一個全量備份,一旦出現故障時,數據最多丟失一天,最后備份數據有沒有恢復過,確保備份數據是有效的。
對于核心數據庫,其重要性高于測試數據庫和生產數據庫,除了以上手段外,還要有額外手段。首先實時備份已經成為企業選擇數據庫備份方案的必選項,將故障發生時丟失數據量降到最小,其次快速恢復對核心數據庫價值越來越明顯,根據故障風險,選擇最佳的恢復方案,最后整個備份恢復系統要定期演練,可以抽樣備份數據進行恢復,最好可以制定策略,定期自動完成整個恢復過程,并產出演練報告。
特別提醒:
· 比不備份數據更糟糕的事情,就是不驗證備份數據的有效性。設想一下,在災難降臨時,您的所有業務數據都被徹底摧毀,但在你想恢復數據時,卻發現備份已損壞,備份錯了文件,或者發生了其他可怕的情況,那時候該怎么辦呢?沒有經過驗證的數據備份方案,本身就是一場災難。
測試備份內容可確保數據得到了妥善備份且可用于恢復。千萬別等事到臨頭才悔不當初。
· 不要迷信大而全方案,多樣需求就要由多樣方案滿足,特別對于核心數據庫,既要有整個實例定期備份,以防實例損壞、硬件故障,同時也要有單表實時備份,往往在關鍵時刻,能省去90%數據恢復時間。
· 恢復數據校驗,無論是手工恢復,還是自動恢復,主要是為了解決備份數據有效性問題,其實對于恢復數據,如何校驗數據完整性非常具有挑戰,目前多數情況是根據業務特征,將恢復數據與生產數據進行抽樣比對,也可以通過將恢復數據庫作為備庫,與主庫同步來校驗數據完整性。
4、有什么解決辦法?
衡鐵剛:還是那句話“不要等到數據丟失時,才問怎么辦”。趁現在給數據庫加一份保障,接下來介紹基于阿里云產品的幾個解決方案:
•你的數據庫在阿里云ECS上,使用數據庫備份DBS將數據備份到OSS上,從購買、配置到運行,僅需5分鐘
•你的數據庫在本地機房上,如果數據庫已開通公網可以使用數據庫備份DBS直接備份,或者通過開通阿里云專線,也可以使用數據庫備份DBS將數據備份到OSS上,根據DBS地域選擇,還可以做到異地備份
•你的數據庫在非阿里云的云環境上,如果數據庫已開通公網可以使用數據庫備份DBS直接備份,或者通過部署代理、開通阿里云專線,都可以使用數據庫備份DBS將數據備份到OSS上,在阿里云上做跨云備份。
5、請簡單介紹下你的工作?
我目前在負責一款阿里云產品,就是上面提到的數據庫備份DBS,你聽過嗎?DBS已經商用,作為數據庫備份通道,與對象存儲OSS一起構建無門檻的云數據庫備份解決方案,整個配置過程只需5分鐘,就可以實現秒級RPO(Recovery Point Objective恢復點目標,通俗理解是當數據庫故障時,允許丟失多長時間數據,RPO越小越好)的實時備份。
除了為數據庫提供連續數據保護、低成本的備份服務外,DBS還可在多種環境下提供強有力的數據保護,包括公共云、企業自建數據中心及其他云廠商。DBS具備低成本、高性能、零風險等優勢,為用戶提供理想的云數據庫備份解決方案。
目前,數據庫備份DBS提供的備份系統時刻被海量用戶驗證,產品不僅擁有實時備份、秒級RPO的能力,同時還具備單表恢復能力,幫助用戶只恢復有價值的數據,RTO可降到分鐘級。
關于作者
衡鐵剛,花名佩恩,2011年加入阿里巴巴,曾經擔任過阿里巴巴集團MySQL DBA,現擔任數據庫產品經理,目前負責數據庫備份產品設計。