光大(big)證券 基礎數據管理團隊 孫偉、沈波
一(one)、前言
近年來(Come),證券業務快速發展,信息系統變更日益頻繁,敏捷開發、快速叠代已經成爲(for)支持業務創新的(of)必要(want)條件。數據庫作(do)爲(for)信息系統運行的(of)重要(want)支撐,數據準備和(and)交付的(of)自動化程度對系統開發、測試效率有較大(big)的(of)影響。
二、測試數據準備遇到(arrive)的(of)困難
測試數據的(of)準備通常包括數據庫備份、數據庫脫敏、數據庫恢複等幾大(big)步驟。在(exist)備份環節,我(I)司主要(want)是(yes)利用(use)數據庫自帶的(of)備份功能進行數據庫物理和(and)邏輯備份,并通過統一(one)備份平台對備份文件進行備份。
根據測試實際需求,如需要(want)真實數據,我(I)們(them)通常采用(use)灰度環境,灰度環境的(of)數據準備主要(want)有兩種方式:直接采用(use)實時(hour)備庫或者是(yes)采用(use)與生(born)産隔離的(of)數據庫。
兩種方式各有優劣,第一(one)種方式的(of)優點在(exist)于(At)數據是(yes)實時(hour)和(and)生(born)産庫同步,省去了(Got it)數據導入的(of)環節,而且對于(At)某些數據庫如ORACLE DATAGUARD可以(by)利Flashback功能在(exist)測試完成之後快速恢複與生(born)産的(of)同步,缺點在(exist)于(At)如DB2,SQLSERVER,MYSQL等數據庫并不(No)支持一(one)鍵恢複同步功能,往往需要(want)重新恢複備庫以(by)及和(and)主庫同步關系;對于(At)第二種方式顯著優點是(yes)在(exist)于(At)與生(born)産環境隔離,導入和(and)恢複都不(No)會影響到(arrive)生(born)産環境,更加安全,但是(yes)往往時(hour)間需要(want)更久,因爲(for)包括了(Got it)備份文件傳輸,數據導入,也犧牲了(Got it)實時(hour)性。
如果數據到(arrive)測試或者開發環境,根據《證券期貨業信息系統運維管理規範》數據用(use)于(At)非生(born)産環境時(hour),應進行脫敏處理。結合我(I)司實際安全要(want)求,脫敏工作(do)必須在(exist)進入測試或者開發之前完成。對于(At)全庫的(of)數據準備步驟以(by)及時(hour)間更加複雜:
需要(want)在(exist)脫敏區域對數據庫備份文件進行導入還原到(arrive)脫敏區域;
通過脫敏工具對該庫中的(of)敏感數據進行脫敏;
重新進行全庫備份;
備份文件通過至少2次傳輸到(arrive)達測試環境;
在(exist)測試環境進行全庫導入/還原。
整個(indivual)過程經曆了(Got it)2次備份,2次還原,至少2次傳輸操作(do),時(hour)間長且複雜度高,嚴重影響測試開發環境數據準備。
除了(Got it)影響測試數據的(of)準備效率,我(I)們(them)還面臨另外一(one)種場景,數據庫備份的(of)定期驗證,定期驗證的(of)重要(want)性不(No)言而喻,有多個(indivual)案例表明在(exist)真正需要(want)用(use)到(arrive)數據庫備份進行恢複時(hour),發現備份文件不(No)可用(use)。尤其是(yes)對于(At)一(one)些穩态系統,由于(At)日常叠代需求很低,如果不(No)定期對數據庫備份進行驗證,一(one)旦遇到(arrive)需要(want)數據庫恢複場景,很可能遭遇備份文件不(No)可用(use)局面。結合行業要(want)求,我(I)司每季度會對所有數據庫備份文件進行恢複驗證,由于(At)數據庫種類繁多,數據量很大(big),這(this)個(indivual)工作(do)需要(want)耗費大(big)量的(of)人(people)力和(and)時(hour)間。
基于(At)以(by)上(superior)遇到(arrive)的(of)問題,我(I)們(them)進行了(Got it)市場調研,接觸到(arrive)了(Got it)一(one)種基于(At)CDM(Copy Data Management,數據副本管理)技術的(of)敏捷數據管理平台,通過對該技術的(of)運用(use),我(I)們(them)整合了(Got it)CDM和(and)脫敏相關工具,實現了(Got it)生(born)産到(arrive)開發測試環境的(of)數據快速交付,以(by)及實現了(Got it)備份數據的(of)自動化周期性的(of)恢複校驗。
三、基于(At)CDM技術實踐
CDM技術簡介
Gartner對CDM的(of)定義是(yes),它從生(born)産環境通過快照技術獲取有應用(use)一(one)緻性保證的(of)數據,在(exist)非生(born)産存儲上(superior)生(born)成“黃金副本”(Golden Image),這(this)個(indivual)“黃金副本”數據格式是(yes)原始的(of)磁盤格式,可再虛拟化成多個(indivual)副本直接挂載給服務器,分别用(use)于(At)備份恢複、容災或開發測試等。
基于(At)CDM技術的(of)敏捷數據管理實踐
我(I)們(them)在(exist)調研市場後,發現當前主要(want)存在(exist)以(by)下三種CDM技術産品:
1、以(by)存儲爲(for)核心提供的(of)CDM,雖然能夠提供快照和(and)克隆功能,但很難實現跨異構存儲,構建企業級規則驅動的(of)副本數據平台,并缺乏豐富的(of)數據服務能力,無法提供自動化、自服務等功能。
2、塊級CDP技術提供的(of)CDM功能,利用(use)CDP技術所創建的(of)副本數據,是(yes)一(one)種磁盤快照技術,無法保證數據的(of)一(one)緻性,并且同一(one)時(hour)間的(of)磁盤快照隻能挂載一(one)份,難以(by)滿足多應用(use)場景的(of)數據需求。
3、端到(arrive)端的(of)CDM:把單純面向恢複的(of)應用(use)場景,變成了(Got it)面向數據使用(use)的(of)應用(use)場景,通過副本數據在(exist)各個(indivual)業務環節的(of)即時(hour)可用(use),爲(for)更多業務場景提供數據支撐。
以(by)存儲爲(for)核心的(of)CDM和(and)塊級CDP提供的(of)CDM功能,按照Gartner的(of)定義,屬于(At)“類”CDM。我(I)們(them)最終選擇了(Got it)端到(arrive)端的(of)CDM技術産品,在(exist)生(born)産到(arrive)灰度環境、生(born)産到(arrive)開發測試環境的(of)數據快速交付,以(by)及備份數據的(of)自動恢複校驗三個(indivual)應用(use)場景。
圖1:整體業務架構拓撲
生(born)産到(arrive)灰度環境的(of)數據快速複制
利用(use)CDM産品的(of)數據庫虛拟化技術,通過一(one)份數據副本,可快速創建出(out)多個(indivual)虛拟數據副本,這(this)些虛拟數據副本幾乎不(No)占用(use)任何存儲空間,且整個(indivual)發布動作(do)可以(by)分鍾級完成。
1)具體流程:
對接生(born)産庫備庫,定時(hour)進行全量,增量備份,并實時(hour)備份獲取數據歸檔日志;
2)當需要(want)數據時(hour),将指定時(hour)間點的(of)數據挂載發布到(arrive)灰度環境(發布到(arrive)灰度環境上(superior)數據不(No)需要(want)脫敏);
3)測試結束後,銷毀灰度數據庫。
生(born)産到(arrive)開發測試環境的(of)數據快速複制
通過部署CDM方案,分鍾内創建完成虛拟數據庫并調用(use)脫敏系統對虛拟數據庫執行脫敏,脫敏後數據自動推送複制到(arrive)中間網CDM,經過中間網CDM節點可将脫敏數據分鍾級挂載發布到(arrive)測試網,有效減少開發測試場景中測試數據的(of)準備時(hour)間,提高開發測試環境搭建的(of)效率。
(1)網絡說明
生(born)産網和(and)測試網進行物理隔離,生(born)産網和(and)中間網、中間網和(and)測試網分别可點對點打通。
(2)開發測試數據快速交付
1)在(exist)生(born)産網和(and)中間網分别部署CDM節點;
2)生(born)産數據脫敏在(exist)生(born)産網内完成;
3)生(born)産網CDM節點将脫敏後的(of)數據推送到(arrive)中間網CDM節點;
4)脫敏數據通過中間網挂載發布到(arrive)測試網的(of)開發測試環境;
5)測試結束後,按策略定期銷毀數據。
(3)數據脫敏
部署CDM前的(of)數據脫敏,需要(want)分别在(exist)生(born)産網和(and)中間網各部署一(one)套脫敏系統,生(born)産數據不(No)能直接給到(arrive)測試網,需要(want)經曆從生(born)産網到(arrive)中間網、從中間網到(arrive)測試網的(of)兩次數據抽取和(and)脫敏,并且是(yes)面向整庫全量數據的(of)抽取。
部署CDM後的(of)數據脫敏,生(born)産網部署一(one)套脫敏系統,将數據發布到(arrive)生(born)産網的(of)脫敏環境并執行脫敏任務後,脫敏數據利用(use)CDM節點之間的(of)遠程複制功能推送到(arrive)中間網,并通過中間網挂載發布到(arrive)測試網。
(4)測試數據版本管理
開發測試環境在(exist)使用(use)數據的(of)過程中存在(exist)測試數據版本回退、新老版本并行測試等場景。通過CDM的(of)虛拟數據庫版本管理機制,可以(by)實現秒級版本回退操作(do),以(by)及通過版本快照分鍾級創建曆史版本數據環境,實現曆史環境、當前環境的(of)新老版本并行對比測試。并且,使用(use)中的(of)虛拟數據庫可以(by)實現秒級創建動态快照,虛拟數據庫可持續保持對外提供服務,不(No)影響測試業務連接。
備份數據的(of)自動校驗
校驗的(of)主要(want)目的(of)是(yes)爲(for)了(Got it)定期檢驗備份文件有效性,保證在(exist)恢複和(and)還原數據文件時(hour)的(of)可用(use)。
利用(use)CDM對接我(I)司統一(one)備份平台,實現備份數據的(of)自動化恢複校驗。定時(hour)抽取備份數據并自動進行有效性驗證,保證備份數據的(of)可用(use)。過去,考慮到(arrive)作(do)業周期長,工作(do)量大(big),備份數據校驗按季度來(Come)進行,在(exist)CDM方式下可縮短至按周進行。
四、結束語
通過CDM解決方案的(of)實施,我(I)們(them)實現了(Got it)一(one)個(indivual)平台、一(one)站式解決數據獲取,數據存儲,數據構建,數據使用(use),數據銷毀,在(exist)保證合規性基礎上(superior),以(by)敏捷的(of)數據全生(born)命周期管理,更好地(land)實現數據共享和(and)數據利用(use)。
此處放标題
内容暫無