核心下移 | 集中式數(shù)據(jù)庫轉(zhuǎn)分布式數(shù)據(jù)庫遷移方案

用戶需求

????隨著科技的高速發(fā)展,金融科技發(fā)展呈現(xiàn)爆發(fā)式增長,每年賬戶與日交易量的增長遠超預(yù)期,集中式核心系統(tǒng)的處理能力瓶頸日益凸顯。整體架構(gòu)臃腫,運維成本高,無論是在性能、擴展性還是效率方面,已無法滿足當(dāng)前業(yè)務(wù)系統(tǒng)需求和未來快速增長的要求,同時現(xiàn)在聯(lián)機+聯(lián)機批交易平均響應(yīng)時間、日終結(jié)息作業(yè)處理耗時給業(yè)務(wù)帶來倍增的壓力,同時在高峰期面臨高并發(fā)下會出現(xiàn)大量超時交易,給生產(chǎn)環(huán)境帶來的壓力也越來越重。

????在此背景之下,傳統(tǒng)的IOE集中式單體數(shù)據(jù)庫擴展瓶頸就越大暴露,并且原有架構(gòu)投入成本高,時刻存在技術(shù)支持下降的風(fēng)險,秉承“自力更生、核心技術(shù)自主可控”的指導(dǎo)思想,某股份制銀行根據(jù)自身整體戰(zhàn)略目標(biāo),結(jié)合業(yè)務(wù)擴展的需求,啟動了將核心業(yè)務(wù)數(shù)據(jù)庫將由原來的集中式數(shù)據(jù)庫IBM AS400/DB2下移至X86分布式數(shù)據(jù)庫,采用“整體一次性遷移,業(yè)務(wù)功能不變”方案。

用戶需求

1、需將原數(shù)據(jù)庫超18T數(shù)據(jù),在48小時之內(nèi),100%正確率要求下全量移植到新核心分布式數(shù)據(jù)庫。

2、需將原生產(chǎn)核心系統(tǒng)超4T,積壓3-6天內(nèi)的DB2/400數(shù)據(jù)庫日志,在48小時之內(nèi),100%正確率要求下同步到新核心分布式數(shù)據(jù)庫。

技術(shù)方案

數(shù)據(jù)遷移在核心系統(tǒng)下移屬于非常重要的環(huán)節(jié),并且要在很短的窗口期內(nèi)完成,面臨著以下痛點:

1、源數(shù)據(jù)庫對象關(guān)系、表間邏輯依賴關(guān)系復(fù)雜;

2、目標(biāo)數(shù)據(jù)庫架構(gòu)部署、規(guī)格需求規(guī)劃;

3、遷移過程業(yè)務(wù)停機時間要求短;

4、需要同步進行數(shù)據(jù)對比驗證;

5、需要做數(shù)據(jù)逆向回流、確保安全性和應(yīng)用回切的兜底方案;

沃信在集中式數(shù)據(jù)庫到分布式數(shù)據(jù)庫提供了全鏈路遷移解決方案:全量遷移、增量遷移、數(shù)據(jù)比對校驗、數(shù)據(jù)補錄/修正,為異構(gòu)數(shù)據(jù)庫間數(shù)據(jù)遷移大大降低門檻、提高效率。

全量數(shù)據(jù)遷移比對圖如下:


新核心數(shù)據(jù)遷移、比對流程

全量數(shù)據(jù)遷移、全量數(shù)據(jù)比對流程是:

? ? ?多并發(fā)(多進程)從舊核心AS400源表讀取數(shù)據(jù)文件,轉(zhuǎn)碼后生成標(biāo)準(zhǔn)的數(shù)據(jù)塊文件,下載傳輸?shù)絏86服務(wù)器,再按原表結(jié)構(gòu)數(shù)據(jù)批量導(dǎo)入到分布式數(shù)據(jù)庫中。

每當(dāng)一張表遷移完之后,就給比對系統(tǒng)發(fā)信號,系統(tǒng)驅(qū)動比對組件,快速比對兩套數(shù)據(jù)庫中數(shù)據(jù)表字段內(nèi)容,完成數(shù)據(jù)比對。

? ? ?這過程中消耗點:

? ???(1)網(wǎng)卡帶寬性能受限,AS400下數(shù)網(wǎng)卡是千兆卡

? ? ?(2)AS400磁盤IO存在瓶頸

? ? ?(3)拆解過程中,部分表還需要補分片鍵和大字段轉(zhuǎn)換

為滿足數(shù)據(jù)遷移和一次性切換、數(shù)據(jù)實時比對要求,需進行增量數(shù)據(jù)遷移與比對:

1、準(zhǔn)實時將AS/400的增量數(shù)據(jù)同步到分布式數(shù)據(jù)庫。

2、速度:12小時內(nèi)完成AS/400核心系統(tǒng)500G數(shù)據(jù)庫增量日志的同步。

3、一致性:要求數(shù)據(jù)同步前后的數(shù)據(jù)完全一致。

4、易用性:支持手動暫停和啟動、同步過程中遇到錯誤支持記錄日志、支持斷點續(xù)傳。

增量數(shù)據(jù)遷移流程是:

400同城鏡像機:在AS/400核心系統(tǒng)同城機房部署同城鏡像機,將同城備機上的數(shù)據(jù)變化通過MIMIX同步過來。在鏡像機上部署JRN日志采集程序,準(zhǔn)實時采集增量JRN日志推送到數(shù)據(jù)同步機。

數(shù)據(jù)同步機:接收到AS/400的增量JRN日志后進行格式解析和轉(zhuǎn)碼處理,然后進行存儲和排序處理后,按數(shù)據(jù)表并發(fā)識別事務(wù)窗口后,生成SQL,并按照分布式數(shù)據(jù)庫要求填補分片鍵,發(fā)往分布式數(shù)據(jù)庫。

分布式數(shù)據(jù)庫:數(shù)據(jù)庫代理收到同步機發(fā)送的單條SQL語句后,完成數(shù)據(jù)庫寫和更新處理。

增量遷移流程圖

增量數(shù)據(jù)比對流程是:

分析JRN日志中變化表的變化記錄集合的歷史信息,取最后一次變化表主鍵信息,通過向目標(biāo)分布式數(shù)據(jù)庫進行數(shù)據(jù)抽取,同目標(biāo)庫的相關(guān)記錄進行實時、滾動比對。

增量比對流程圖

整體一次性切換流程圖:

X86核心數(shù)據(jù)遷移過程規(guī)劃圖

核心切換產(chǎn)品工具鏈:

1、異構(gòu)復(fù)雜表的全量移植

將AS/400核心系統(tǒng)將復(fù)雜表進行抽取,碼制轉(zhuǎn)換,大字段類型解析,數(shù)據(jù)內(nèi)容轉(zhuǎn)換,補數(shù)據(jù)分片鍵,最終生成Insert語句和連接下高并發(fā)、大批量將數(shù)據(jù)遷移到分布式數(shù)據(jù)庫內(nèi)。

2.異構(gòu)數(shù)據(jù)庫全量數(shù)據(jù)比對

在AS/400核心系統(tǒng)和X86分布式數(shù)據(jù)庫靜止?fàn)顟B(tài)下,針對指定的數(shù)據(jù)表范圍和字段范圍,快速比對兩套數(shù)據(jù)庫中全量數(shù)據(jù)表字段內(nèi)容。

3.數(shù)據(jù)日志同步

將AS/400核心系統(tǒng)中數(shù)據(jù)庫變化情況,增量同步到分布式數(shù)據(jù)庫中,保證兩套數(shù)據(jù)庫的數(shù)據(jù)變化情況完全一致,數(shù)據(jù)同步過程支持暫停和重啟,遇到故障可支持斷點續(xù)傳,全過程需保證兩套數(shù)據(jù)庫的事務(wù)一致性。

4.異構(gòu)數(shù)據(jù)庫抽樣數(shù)據(jù)比對

在系統(tǒng)切換之前,AS/400核心系統(tǒng)與X86分布式數(shù)據(jù)庫持續(xù)同步數(shù)據(jù),通過不停機滾動比較,驗證數(shù)據(jù)同步的一致性,降低系統(tǒng)切換期間的全量數(shù)據(jù)檢核壓力,減少切換時間窗口。

方案優(yōu)勢

1、保駕護航:解決下移方案可行性、可靠性、安全性、正確性問題及可靠的技術(shù)保證,為切換保駕護航

2、風(fēng)險降低:大大降低切換風(fēng)險,達成一次性平滑切換投產(chǎn)的目標(biāo)

3、窗口縮短:縮短了預(yù)期停業(yè)切換窗口,降低業(yè)務(wù)影響

4、用技術(shù)方案、技術(shù)實現(xiàn)、技術(shù)運營方式降本增效

5、降低遷移門檻:對運維人員屏蔽了分布式數(shù)據(jù)庫遷移細節(jié),實現(xiàn)數(shù)據(jù)“零錯誤、零丟失”

6、自愈能力:整個異常切換恢復(fù)過程無需人工干預(yù),全流程自愈,自動化完成,降低運維難度與管理成本

7、水平擴容:通過用戶界面可實現(xiàn)比對應(yīng)用的擴容。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容