光大證券 基礎數據管理團隊 孫偉、沈波
一、前言
近年來,證券業(yè)務快速發(fā)展,信息系統(tǒng)變更日益頻繁,敏捷開發(fā)、快速迭代已經成為支持業(yè)務創(chuàng)新的必要條件。數據庫作為信息系統(tǒng)運行的重要支撐,數據準備和交付的自動化程度對系統(tǒng)開發(fā)、測試效率有較大的影響。
二、測試數據準備遇到的困難
測試數據的準備通常包括數據庫備份、數據庫脫敏、數據庫恢復等幾大步驟。在備份環(huán)節(jié),我司主要是利用數據庫自帶的備份功能進行數據庫物理和邏輯備份,并通過統(tǒng)一備份平臺對備份文件進行備份。
根據測試實際需求,如需要真實數據,我們通常采用灰度環(huán)境,灰度環(huán)境的數據準備主要有兩種方式:直接采用實時備庫或者是采用與生產隔離的數據庫。
兩種方式各有優(yōu)劣,第一種方式的優(yōu)點在于數據是實時和生產庫同步,省去了數據導入的環(huán)節(jié),而且對于某些數據庫如ORACLE DATAGUARD可以利Flashback功能在測試完成之后快速恢復與生產的同步,缺點在于如DB2,SQLSERVER,MYSQL等數據庫并不支持一鍵恢復同步功能,往往需要重新恢復備庫以及和主庫同步關系;對于第二種方式顯著優(yōu)點是在于與生產環(huán)境隔離,導入和恢復都不會影響到生產環(huán)境,更加安全,但是往往時間需要更久,因為包括了備份文件傳輸,數據導入,也犧牲了實時性。
如果數據到測試或者開發(fā)環(huán)境,根據《證券期貨業(yè)信息系統(tǒng)運維管理規(guī)范》數據用于非生產環(huán)境時,應進行脫敏處理。結合我司實際安全要求,脫敏工作必須在進入測試或者開發(fā)之前完成。對于全庫的數據準備步驟以及時間更加復雜:
需要在脫敏區(qū)域對數據庫備份文件進行導入還原到脫敏區(qū)域;
通過脫敏工具對該庫中的敏感數據進行脫敏;
重新進行全庫備份;
備份文件通過至少2次傳輸到達測試環(huán)境;
在測試環(huán)境進行全庫導入/還原。
整個過程經歷了2次備份,2次還原,至少2次傳輸操作,時間長且復雜度高,嚴重影響測試開發(fā)環(huán)境數據準備。
除了影響測試數據的準備效率,我們還面臨另外一種場景,數據庫備份的定期驗證,定期驗證的重要性不言而喻,有多個案例表明在真正需要用到數據庫備份進行恢復時,發(fā)現備份文件不可用。尤其是對于一些穩(wěn)態(tài)系統(tǒng),由于日常迭代需求很低,如果不定期對數據庫備份進行驗證,一旦遇到需要數據庫恢復場景,很可能遭遇備份文件不可用局面。結合行業(yè)要求,我司每季度會對所有數據庫備份文件進行恢復驗證,由于數據庫種類繁多,數據量很大,這個工作需要耗費大量的人力和時間。
基于以上遇到的問題,我們進行了市場調研,接觸到了一種基于CDM(Copy Data Management,數據副本管理)技術的敏捷數據管理平臺,通過對該技術的運用,我們整合了CDM和脫敏相關工具,實現了生產到開發(fā)測試環(huán)境的數據快速交付,以及實現了備份數據的自動化周期性的恢復校驗。
三、基于CDM技術實踐
CDM技術簡介
Gartner對CDM的定義是,它從生產環(huán)境通過快照技術獲取有應用一致性保證的數據,在非生產存儲上生成“黃金副本”(Golden Image),這個“黃金副本”數據格式是原始的磁盤格式,可再虛擬化成多個副本直接掛載給服務器,分別用于備份恢復、容災或開發(fā)測試等。
基于CDM技術的敏捷數據管理實踐
我們在調研市場后,發(fā)現當前主要存在以下三種CDM技術產品:
1、以存儲為核心提供的CDM,雖然能夠提供快照和克隆功能,但很難實現跨異構存儲,構建企業(yè)級規(guī)則驅動的副本數據平臺,并缺乏豐富的數據服務能力,無法提供自動化、自服務等功能。
2、塊級CDP技術提供的CDM功能,利用CDP技術所創(chuàng)建的副本數據,是一種磁盤快照技術,無法保證數據的一致性,并且同一時間的磁盤快照只能掛載一份,難以滿足多應用場景的數據需求。
3、端到端的CDM:把單純面向恢復的應用場景,變成了面向數據使用的應用場景,通過副本數據在各個業(yè)務環(huán)節(jié)的即時可用,為更多業(yè)務場景提供數據支撐。
以存儲為核心的CDM和塊級CDP提供的CDM功能,按照Gartner的定義,屬于“類”CDM。我們最終選擇了端到端的CDM技術產品,在生產到灰度環(huán)境、生產到開發(fā)測試環(huán)境的數據快速交付,以及備份數據的自動恢復校驗三個應用場景。

圖1:整體業(yè)務架構拓撲
生產到灰度環(huán)境的數據快速復制
利用CDM產品的數據庫虛擬化技術,通過一份數據副本,可快速創(chuàng)建出多個虛擬數據副本,這些虛擬數據副本幾乎不占用任何存儲空間,且整個發(fā)布動作可以分鐘級完成。
1)具體流程:
對接生產庫備庫,定時進行全量,增量備份,并實時備份獲取數據歸檔日志;
2)當需要數據時,將指定時間點的數據掛載發(fā)布到灰度環(huán)境(發(fā)布到灰度環(huán)境上數據不需要脫敏);
3)測試結束后,銷毀灰度數據庫。
生產到開發(fā)測試環(huán)境的數據快速復制
通過部署CDM方案,分鐘內創(chuàng)建完成虛擬數據庫并調用脫敏系統(tǒng)對虛擬數據庫執(zhí)行脫敏,脫敏后數據自動推送復制到中間網CDM,經過中間網CDM節(jié)點可將脫敏數據分鐘級掛載發(fā)布到測試網,有效減少開發(fā)測試場景中測試數據的準備時間,提高開發(fā)測試環(huán)境搭建的效率。
(1)網絡說明
生產網和測試網進行物理隔離,生產網和中間網、中間網和測試網分別可點對點打通。
(2)開發(fā)測試數據快速交付
1)在生產網和中間網分別部署CDM節(jié)點;
2)生產數據脫敏在生產網內完成;
3)生產網CDM節(jié)點將脫敏后的數據推送到中間網CDM節(jié)點;
4)脫敏數據通過中間網掛載發(fā)布到測試網的開發(fā)測試環(huán)境;
5)測試結束后,按策略定期銷毀數據。
(3)數據脫敏
部署CDM前的數據脫敏,需要分別在生產網和中間網各部署一套脫敏系統(tǒng),生產數據不能直接給到測試網,需要經歷從生產網到中間網、從中間網到測試網的兩次數據抽取和脫敏,并且是面向整庫全量數據的抽取。
部署CDM后的數據脫敏,生產網部署一套脫敏系統(tǒng),將數據發(fā)布到生產網的脫敏環(huán)境并執(zhí)行脫敏任務后,脫敏數據利用CDM節(jié)點之間的遠程復制功能推送到中間網,并通過中間網掛載發(fā)布到測試網。
(4)測試數據版本管理
開發(fā)測試環(huán)境在使用數據的過程中存在測試數據版本回退、新老版本并行測試等場景。通過CDM的虛擬數據庫版本管理機制,可以實現秒級版本回退操作,以及通過版本快照分鐘級創(chuàng)建歷史版本數據環(huán)境,實現歷史環(huán)境、當前環(huán)境的新老版本并行對比測試。并且,使用中的虛擬數據庫可以實現秒級創(chuàng)建動態(tài)快照,虛擬數據庫可持續(xù)保持對外提供服務,不影響測試業(yè)務連接。
備份數據的自動校驗
校驗的主要目的是為了定期檢驗備份文件有效性,保證在恢復和還原數據文件時的可用。
利用CDM對接我司統(tǒng)一備份平臺,實現備份數據的自動化恢復校驗。定時抽取備份數據并自動進行有效性驗證,保證備份數據的可用。過去,考慮到作業(yè)周期長,工作量大,備份數據校驗按季度來進行,在CDM方式下可縮短至按周進行。
四、結束語
通過CDM解決方案的實施,我們實現了一個平臺、一站式解決數據獲取,數據存儲,數據構建,數據使用,數據銷毀,在保證合規(guī)性基礎上,以敏捷的數據全生命周期管理,更好地實現數據共享和數據利用。
此處放標題
內容暫無