對(duì)金融企業(yè)而言,系統(tǒng)架構(gòu)從集中式轉(zhuǎn)向分布式是大勢(shì)所趨。在數(shù)據(jù)庫(kù)層面,要從單機(jī)數(shù)據(jù)庫(kù)轉(zhuǎn)向分布式數(shù)據(jù)庫(kù)雖極具誘惑,但更換數(shù)據(jù)庫(kù),企業(yè)決策依然會(huì)非常謹(jǐn)慎,因?yàn)樯婕暗骄薮蟮娘L(fēng)險(xiǎn)和成本,其中就包含數(shù)據(jù)庫(kù)遷移過(guò)程中的風(fēng)險(xiǎn)和成本。而OceanBase數(shù)據(jù)遷移OMS的出現(xiàn),至少一定程度上消除了這一阻礙。
以國(guó)內(nèi)某保險(xiǎn)客戶(hù)核心系統(tǒng)FF去O為例,就借助OMS的遷移能力與優(yōu)勢(shì)將Oracle數(shù)據(jù)庫(kù)遷移到了OceanBase中。
OMS的遷移能力與優(yōu)勢(shì)如何?
在業(yè)務(wù)評(píng)估與改造方面,此前遷移一個(gè)業(yè)務(wù)最少需要花費(fèi)一到兩個(gè)月時(shí)間,進(jìn)行業(yè)務(wù)改造和適配,但基于OMS自動(dòng)化的兼容性評(píng)估報(bào)告以及負(fù)載回放能力,業(yè)務(wù)前期改造時(shí)間可大大縮短。
數(shù)據(jù)遷移和校驗(yàn)方面,雖然遷移時(shí)長(zhǎng)與數(shù)據(jù)量及網(wǎng)絡(luò)資源密切相關(guān),但在提升遷移質(zhì)量方面,OMS可以將增量遷移的延遲控制在毫秒級(jí),即便跨城的情況下,最多也只需要三秒鐘,而對(duì)于驗(yàn)證出所有不一致的數(shù)據(jù),OMS還提供修正的結(jié)果方案,從而極大提升遷移和校驗(yàn)的整體效率。
在業(yè)務(wù)切換方面,通常切換前需要制定比較嚴(yán)密的方案,并且切換之前和過(guò)程中需要檢查和校驗(yàn)環(huán)節(jié)非常繁瑣,因?yàn)橐徊讲铄e(cuò)就可能會(huì)導(dǎo)致數(shù)據(jù)不一致,OMS通過(guò)引入大規(guī)模編排能力把所有繁瑣環(huán)節(jié)都落到了平臺(tái)中,OMS還提供了集成部分中間件的能力,無(wú)論在遷移還是校驗(yàn)過(guò)程中都用時(shí)很少。
保險(xiǎn)客戶(hù)使用OMS,最終遷移效果如何?
據(jù)了解,在客戶(hù)核心系統(tǒng)FF中,Oracle源端總共有15張表分區(qū)表,22億條記錄需要遷移到Oceanbase 目標(biāo)端。未做專(zhuān)門(mén)優(yōu)化前,全量遷移耗時(shí)11個(gè)小時(shí),平均每秒5.5w條記錄,速度太慢,不符合客戶(hù)目標(biāo)。
從整個(gè)遷移過(guò)程來(lái)看,OceanBase遷移服務(wù)OMS主要解決了四個(gè)重要的問(wèn)題。第一次通過(guò)調(diào)整OMS參數(shù),增大并發(fā)、增加鏈接數(shù),jvm內(nèi)存優(yōu)化后,clog每分鐘產(chǎn)生130個(gè)64M日志;第二次此次主要對(duì)observer內(nèi)核參數(shù)進(jìn)行優(yōu)化,調(diào)整參數(shù)后,每分鐘OB日志量下降到20個(gè)左后。
第三次通過(guò)調(diào)整OB部署架構(gòu),借助多點(diǎn)寫(xiě)入能力提升性能,OMS每秒遷移提升到大約7w條記錄,全量遷移減少到7個(gè)小時(shí)左右完成;第四次對(duì)schemal表結(jié)構(gòu)進(jìn)行優(yōu)化,分區(qū)表改造成非分區(qū)表以及后建索引,OMS在3個(gè)小時(shí)內(nèi)完成全量數(shù)據(jù)遷移,大大減少了數(shù)據(jù)遷移時(shí)間。
值得一提的是,在OMS遷移過(guò)程也出現(xiàn)了幾次故障。比如是否發(fā)生內(nèi)存或cpu保護(hù),全量進(jìn)程是否存在gc情況、是否有異常報(bào)錯(cuò)等,這些都是需要進(jìn)一步排查的。而這些故障背后既反映了國(guó)產(chǎn)數(shù)據(jù)庫(kù)在面對(duì)復(fù)雜場(chǎng)景上能力的提升,也反映了分布式架構(gòu)帶來(lái)的根本性變化。對(duì)此,OceanBase對(duì)OMS數(shù)據(jù)遷移性能問(wèn)題排查進(jìn)行了方法總結(jié),具體如下:
這些年我們看過(guò)很多的文章都是對(duì)于數(shù)據(jù)庫(kù)替換的分析和暢想,但是面對(duì)實(shí)際的大規(guī)模復(fù)雜的核心應(yīng)用系統(tǒng)的技術(shù)平臺(tái)替換,過(guò)程中還有很多在各種“分析”文章中想不到的問(wèn)題,尤其對(duì)于現(xiàn)有運(yùn)行的環(huán)境的各種適配和兼容、對(duì)應(yīng)用的友好性等很多。
關(guān)于這些,Oceanbase走出了堅(jiān)實(shí)的一步,積累了彌足珍貴的經(jīng)驗(yàn),這些都為今后的國(guó)產(chǎn)進(jìn)程給出了很好的示范效應(yīng)。