光大證券 基礎(chǔ)數(shù)據(jù)管理團(tuán)隊(duì) 孫偉、沈波
一、前言
近年來(lái),證券業(yè)務(wù)快速發(fā)展,信息系統(tǒng)變更日益頻繁,敏捷開發(fā)、快速迭代已經(jīng)成為支持業(yè)務(wù)創(chuàng)新的必要條件。數(shù)據(jù)庫(kù)作為信息系統(tǒng)運(yùn)行的重要支撐,數(shù)據(jù)準(zhǔn)備和交付的自動(dòng)化程度對(duì)系統(tǒng)開發(fā)、測(cè)試效率有較大的影響。
二、測(cè)試數(shù)據(jù)準(zhǔn)備遇到的困難
測(cè)試數(shù)據(jù)的準(zhǔn)備通常包括數(shù)據(jù)庫(kù)備份、數(shù)據(jù)庫(kù)脫敏、數(shù)據(jù)庫(kù)恢復(fù)等幾大步驟。在備份環(huán)節(jié),我司主要是利用數(shù)據(jù)庫(kù)自帶的備份功能進(jìn)行數(shù)據(jù)庫(kù)物理和邏輯備份,并通過(guò)統(tǒng)一備份平臺(tái)對(duì)備份文件進(jìn)行備份。
根據(jù)測(cè)試實(shí)際需求,如需要真實(shí)數(shù)據(jù),我們通常采用灰度環(huán)境,灰度環(huán)境的數(shù)據(jù)準(zhǔn)備主要有兩種方式:直接采用實(shí)時(shí)備庫(kù)或者是采用與生產(chǎn)隔離的數(shù)據(jù)庫(kù)。
兩種方式各有優(yōu)劣,第一種方式的優(yōu)點(diǎn)在于數(shù)據(jù)是實(shí)時(shí)和生產(chǎn)庫(kù)同步,省去了數(shù)據(jù)導(dǎo)入的環(huán)節(jié),而且對(duì)于某些數(shù)據(jù)庫(kù)如ORACLE DATAGUARD可以利Flashback功能在測(cè)試完成之后快速恢復(fù)與生產(chǎn)的同步,缺點(diǎn)在于如DB2,SQLSERVER,MYSQL等數(shù)據(jù)庫(kù)并不支持一鍵恢復(fù)同步功能,往往需要重新恢復(fù)備庫(kù)以及和主庫(kù)同步關(guān)系;對(duì)于第二種方式顯著優(yōu)點(diǎn)是在于與生產(chǎn)環(huán)境隔離,導(dǎo)入和恢復(fù)都不會(huì)影響到生產(chǎn)環(huán)境,更加安全,但是往往時(shí)間需要更久,因?yàn)榘藗浞菸募鬏?,?shù)據(jù)導(dǎo)入,也犧牲了實(shí)時(shí)性。
如果數(shù)據(jù)到測(cè)試或者開發(fā)環(huán)境,根據(jù)《證券期貨業(yè)信息系統(tǒng)運(yùn)維管理規(guī)范》數(shù)據(jù)用于非生產(chǎn)環(huán)境時(shí),應(yīng)進(jìn)行脫敏處理。結(jié)合我司實(shí)際安全要求,脫敏工作必須在進(jìn)入測(cè)試或者開發(fā)之前完成。對(duì)于全庫(kù)的數(shù)據(jù)準(zhǔn)備步驟以及時(shí)間更加復(fù)雜:
需要在脫敏區(qū)域?qū)?shù)據(jù)庫(kù)備份文件進(jìn)行導(dǎo)入還原到脫敏區(qū)域;
通過(guò)脫敏工具對(duì)該庫(kù)中的敏感數(shù)據(jù)進(jìn)行脫敏;
重新進(jìn)行全庫(kù)備份;
備份文件通過(guò)至少2次傳輸?shù)竭_(dá)測(cè)試環(huán)境;
在測(cè)試環(huán)境進(jìn)行全庫(kù)導(dǎo)入/還原。
整個(gè)過(guò)程經(jīng)歷了2次備份,2次還原,至少2次傳輸操作,時(shí)間長(zhǎng)且復(fù)雜度高,嚴(yán)重影響測(cè)試開發(fā)環(huán)境數(shù)據(jù)準(zhǔn)備。
除了影響測(cè)試數(shù)據(jù)的準(zhǔn)備效率,我們還面臨另外一種場(chǎng)景,數(shù)據(jù)庫(kù)備份的定期驗(yàn)證,定期驗(yàn)證的重要性不言而喻,有多個(gè)案例表明在真正需要用到數(shù)據(jù)庫(kù)備份進(jìn)行恢復(fù)時(shí),發(fā)現(xiàn)備份文件不可用。尤其是對(duì)于一些穩(wěn)態(tài)系統(tǒng),由于日常迭代需求很低,如果不定期對(duì)數(shù)據(jù)庫(kù)備份進(jìn)行驗(yàn)證,一旦遇到需要數(shù)據(jù)庫(kù)恢復(fù)場(chǎng)景,很可能遭遇備份文件不可用局面。結(jié)合行業(yè)要求,我司每季度會(huì)對(duì)所有數(shù)據(jù)庫(kù)備份文件進(jìn)行恢復(fù)驗(yàn)證,由于數(shù)據(jù)庫(kù)種類繁多,數(shù)據(jù)量很大,這個(gè)工作需要耗費(fèi)大量的人力和時(shí)間。
基于以上遇到的問(wèn)題,我們進(jìn)行了市場(chǎng)調(diào)研,接觸到了一種基于CDM(Copy Data Management,數(shù)據(jù)副本管理)技術(shù)的敏捷數(shù)據(jù)管理平臺(tái),通過(guò)對(duì)該技術(shù)的運(yùn)用,我們整合了CDM和脫敏相關(guān)工具,實(shí)現(xiàn)了生產(chǎn)到開發(fā)測(cè)試環(huán)境的數(shù)據(jù)快速交付,以及實(shí)現(xiàn)了備份數(shù)據(jù)的自動(dòng)化周期性的恢復(fù)校驗(yàn)。
三、基于CDM技術(shù)實(shí)踐
CDM技術(shù)簡(jiǎn)介
Gartner對(duì)CDM的定義是,它從生產(chǎn)環(huán)境通過(guò)快照技術(shù)獲取有應(yīng)用一致性保證的數(shù)據(jù),在非生產(chǎn)存儲(chǔ)上生成“黃金副本”(Golden Image),這個(gè)“黃金副本”數(shù)據(jù)格式是原始的磁盤格式,可再虛擬化成多個(gè)副本直接掛載給服務(wù)器,分別用于備份恢復(fù)、容災(zāi)或開發(fā)測(cè)試等。
基于CDM技術(shù)的敏捷數(shù)據(jù)管理實(shí)踐
我們?cè)谡{(diào)研市場(chǎng)后,發(fā)現(xiàn)當(dāng)前主要存在以下三種CDM技術(shù)產(chǎn)品:
1、以存儲(chǔ)為核心提供的CDM,雖然能夠提供快照和克隆功能,但很難實(shí)現(xiàn)跨異構(gòu)存儲(chǔ),構(gòu)建企業(yè)級(jí)規(guī)則驅(qū)動(dòng)的副本數(shù)據(jù)平臺(tái),并缺乏豐富的數(shù)據(jù)服務(wù)能力,無(wú)法提供自動(dòng)化、自服務(wù)等功能。
2、塊級(jí)CDP技術(shù)提供的CDM功能,利用CDP技術(shù)所創(chuàng)建的副本數(shù)據(jù),是一種磁盤快照技術(shù),無(wú)法保證數(shù)據(jù)的一致性,并且同一時(shí)間的磁盤快照只能掛載一份,難以滿足多應(yīng)用場(chǎng)景的數(shù)據(jù)需求。
3、端到端的CDM:把單純面向恢復(fù)的應(yīng)用場(chǎng)景,變成了面向數(shù)據(jù)使用的應(yīng)用場(chǎng)景,通過(guò)副本數(shù)據(jù)在各個(gè)業(yè)務(wù)環(huán)節(jié)的即時(shí)可用,為更多業(yè)務(wù)場(chǎng)景提供數(shù)據(jù)支撐。
以存儲(chǔ)為核心的CDM和塊級(jí)CDP提供的CDM功能,按照Gartner的定義,屬于“類”CDM。我們最終選擇了端到端的CDM技術(shù)產(chǎn)品,在生產(chǎn)到灰度環(huán)境、生產(chǎn)到開發(fā)測(cè)試環(huán)境的數(shù)據(jù)快速交付,以及備份數(shù)據(jù)的自動(dòng)恢復(fù)校驗(yàn)三個(gè)應(yīng)用場(chǎng)景。
圖1:整體業(yè)務(wù)架構(gòu)拓?fù)?br/>
生產(chǎn)到灰度環(huán)境的數(shù)據(jù)快速?gòu)?fù)制
利用CDM產(chǎn)品的數(shù)據(jù)庫(kù)虛擬化技術(shù),通過(guò)一份數(shù)據(jù)副本,可快速創(chuàng)建出多個(gè)虛擬數(shù)據(jù)副本,這些虛擬數(shù)據(jù)副本幾乎不占用任何存儲(chǔ)空間,且整個(gè)發(fā)布動(dòng)作可以分鐘級(jí)完成。
1)具體流程:
對(duì)接生產(chǎn)庫(kù)備庫(kù),定時(shí)進(jìn)行全量,增量備份,并實(shí)時(shí)備份獲取數(shù)據(jù)歸檔日志;
2)當(dāng)需要數(shù)據(jù)時(shí),將指定時(shí)間點(diǎn)的數(shù)據(jù)掛載發(fā)布到灰度環(huán)境(發(fā)布到灰度環(huán)境上數(shù)據(jù)不需要脫敏);
3)測(cè)試結(jié)束后,銷毀灰度數(shù)據(jù)庫(kù)。
生產(chǎn)到開發(fā)測(cè)試環(huán)境的數(shù)據(jù)快速?gòu)?fù)制
通過(guò)部署CDM方案,分鐘內(nèi)創(chuàng)建完成虛擬數(shù)據(jù)庫(kù)并調(diào)用脫敏系統(tǒng)對(duì)虛擬數(shù)據(jù)庫(kù)執(zhí)行脫敏,脫敏后數(shù)據(jù)自動(dòng)推送復(fù)制到中間網(wǎng)CDM,經(jīng)過(guò)中間網(wǎng)CDM節(jié)點(diǎn)可將脫敏數(shù)據(jù)分鐘級(jí)掛載發(fā)布到測(cè)試網(wǎng),有效減少開發(fā)測(cè)試場(chǎng)景中測(cè)試數(shù)據(jù)的準(zhǔn)備時(shí)間,提高開發(fā)測(cè)試環(huán)境搭建的效率。
(1)網(wǎng)絡(luò)說(shuō)明
生產(chǎn)網(wǎng)和測(cè)試網(wǎng)進(jìn)行物理隔離,生產(chǎn)網(wǎng)和中間網(wǎng)、中間網(wǎng)和測(cè)試網(wǎng)分別可點(diǎn)對(duì)點(diǎn)打通。
(2)開發(fā)測(cè)試數(shù)據(jù)快速交付
1)在生產(chǎn)網(wǎng)和中間網(wǎng)分別部署CDM節(jié)點(diǎn);
2)生產(chǎn)數(shù)據(jù)脫敏在生產(chǎn)網(wǎng)內(nèi)完成;
3)生產(chǎn)網(wǎng)CDM節(jié)點(diǎn)將脫敏后的數(shù)據(jù)推送到中間網(wǎng)CDM節(jié)點(diǎn);
4)脫敏數(shù)據(jù)通過(guò)中間網(wǎng)掛載發(fā)布到測(cè)試網(wǎng)的開發(fā)測(cè)試環(huán)境;
5)測(cè)試結(jié)束后,按策略定期銷毀數(shù)據(jù)。
(3)數(shù)據(jù)脫敏
部署CDM前的數(shù)據(jù)脫敏,需要分別在生產(chǎn)網(wǎng)和中間網(wǎng)各部署一套脫敏系統(tǒng),生產(chǎn)數(shù)據(jù)不能直接給到測(cè)試網(wǎng),需要經(jīng)歷從生產(chǎn)網(wǎng)到中間網(wǎng)、從中間網(wǎng)到測(cè)試網(wǎng)的兩次數(shù)據(jù)抽取和脫敏,并且是面向整庫(kù)全量數(shù)據(jù)的抽取。
部署CDM后的數(shù)據(jù)脫敏,生產(chǎn)網(wǎng)部署一套脫敏系統(tǒng),將數(shù)據(jù)發(fā)布到生產(chǎn)網(wǎng)的脫敏環(huán)境并執(zhí)行脫敏任務(wù)后,脫敏數(shù)據(jù)利用CDM節(jié)點(diǎn)之間的遠(yuǎn)程復(fù)制功能推送到中間網(wǎng),并通過(guò)中間網(wǎng)掛載發(fā)布到測(cè)試網(wǎng)。
(4)測(cè)試數(shù)據(jù)版本管理
開發(fā)測(cè)試環(huán)境在使用數(shù)據(jù)的過(guò)程中存在測(cè)試數(shù)據(jù)版本回退、新老版本并行測(cè)試等場(chǎng)景。通過(guò)CDM的虛擬數(shù)據(jù)庫(kù)版本管理機(jī)制,可以實(shí)現(xiàn)秒級(jí)版本回退操作,以及通過(guò)版本快照分鐘級(jí)創(chuàng)建歷史版本數(shù)據(jù)環(huán)境,實(shí)現(xiàn)歷史環(huán)境、當(dāng)前環(huán)境的新老版本并行對(duì)比測(cè)試。并且,使用中的虛擬數(shù)據(jù)庫(kù)可以實(shí)現(xiàn)秒級(jí)創(chuàng)建動(dòng)態(tài)快照,虛擬數(shù)據(jù)庫(kù)可持續(xù)保持對(duì)外提供服務(wù),不影響測(cè)試業(yè)務(wù)連接。
備份數(shù)據(jù)的自動(dòng)校驗(yàn)
校驗(yàn)的主要目的是為了定期檢驗(yàn)備份文件有效性,保證在恢復(fù)和還原數(shù)據(jù)文件時(shí)的可用。
利用CDM對(duì)接我司統(tǒng)一備份平臺(tái),實(shí)現(xiàn)備份數(shù)據(jù)的自動(dòng)化恢復(fù)校驗(yàn)。定時(shí)抽取備份數(shù)據(jù)并自動(dòng)進(jìn)行有效性驗(yàn)證,保證備份數(shù)據(jù)的可用。過(guò)去,考慮到作業(yè)周期長(zhǎng),工作量大,備份數(shù)據(jù)校驗(yàn)按季度來(lái)進(jìn)行,在CDM方式下可縮短至按周進(jìn)行。
四、結(jié)束語(yǔ)
通過(guò)CDM解決方案的實(shí)施,我們實(shí)現(xiàn)了一個(gè)平臺(tái)、一站式解決數(shù)據(jù)獲取,數(shù)據(jù)存儲(chǔ),數(shù)據(jù)構(gòu)建,數(shù)據(jù)使用,數(shù)據(jù)銷毀,在保證合規(guī)性基礎(chǔ)上,以敏捷的數(shù)據(jù)全生命周期管理,更好地實(shí)現(xiàn)數(shù)據(jù)共享和數(shù)據(jù)利用。
此處放標(biāo)題
內(nèi)容暫無(wú)