數(shù)據(jù)庫(kù)遷移評(píng)估與決策
數(shù)據(jù)庫(kù)遷移前,DTS-DBbridge平臺(tái)首先將基于對(duì)原數(shù)據(jù)庫(kù)的數(shù)據(jù)分析,并結(jié)合企業(yè)實(shí)際業(yè)務(wù)規(guī)劃,進(jìn)行包括兼容性、復(fù)雜度、工作量、遷移耗時(shí)等模塊數(shù)百個(gè)指標(biāo)在內(nèi)的可行性與最佳方案綜合評(píng)估,最終產(chǎn)生詳盡的遷移報(bào)告,以及針對(duì)每個(gè)企業(yè)的技術(shù)與業(yè)務(wù)規(guī)劃特點(diǎn),輸出個(gè)性化數(shù)據(jù)庫(kù)整體解決方案。
在評(píng)估過程中,例如針對(duì)兼容性的評(píng)估,可精細(xì)化掃描識(shí)別哪些兼容、哪些不兼容,不兼容點(diǎn)將根據(jù)客戶要求評(píng)估并形成改造方案。
數(shù)據(jù)遷移準(zhǔn)備與實(shí)施
完成評(píng)估與決策后,可基于DBbridge實(shí)施應(yīng)用系統(tǒng)與源端數(shù)據(jù)庫(kù),向目標(biāo)端系統(tǒng)與數(shù)據(jù)庫(kù)進(jìn)行遷移改造。
除了數(shù)據(jù)庫(kù)轉(zhuǎn)型升級(jí)的場(chǎng)景需求,事實(shí)上,為實(shí)現(xiàn)數(shù)據(jù)解耦及匯總的需求,企業(yè)日常同時(shí)存在基于數(shù)據(jù)遷移、分發(fā)、容災(zāi)備份等訴求而進(jìn)行多源異構(gòu)遷移。針對(duì)以上場(chǎng)景,騰訊云數(shù)據(jù)庫(kù)DBbridge具備高性能、高一致、支持多種異構(gòu)數(shù)據(jù)平臺(tái)的數(shù)據(jù)分發(fā)的特性,其支持以騰訊云數(shù)據(jù)庫(kù)作為源端的數(shù)據(jù)實(shí)時(shí)同步分發(fā)至 MySQL、Oracle、PostgreSQL、消息隊(duì)列等平臺(tái),同時(shí)也支持以騰訊云數(shù)據(jù)庫(kù)作為目標(biāo)端,將 MySQL 或者 Oracle 的數(shù)據(jù)實(shí)時(shí)同步至騰訊云數(shù)據(jù)庫(kù)中,并且部署靈活,支持一對(duì)多,多對(duì)一等多種復(fù)制拓?fù)浣Y(jié)構(gòu)。
多源同步模塊典型的基于日志的 CDC 復(fù)制技術(shù),其系統(tǒng)架構(gòu)如下:
同時(shí),基于高度標(biāo)準(zhǔn)化、平臺(tái)化的產(chǎn)品服務(wù),DBbridge支持用戶可視化便捷操作,完成多源異構(gòu)數(shù)據(jù)庫(kù)之間的結(jié)構(gòu)遷移、增量同步。
結(jié)構(gòu)遷移流程動(dòng)圖
此外,騰訊云數(shù)據(jù)庫(kù)提供完善的服務(wù)保障,整體遷移方案采取平穩(wěn)過渡,在服務(wù)交割遷移中,將采取原應(yīng)用系統(tǒng)和新應(yīng)用系統(tǒng)并行跑一段時(shí)間的措施,測(cè)試新應(yīng)用系統(tǒng)沒有問題后,做正式的服務(wù)交割。
數(shù)據(jù)庫(kù)遷移自動(dòng)化校驗(yàn)
最后,在這一套同步的數(shù)據(jù)鏈路過程中,騰訊云DTS-DBbridge同時(shí)提供數(shù)據(jù)校驗(yàn)的服務(wù),以保證多活基礎(chǔ)上數(shù)據(jù)遷移同步的一致性、可靠性。主要包括兩個(gè)方面:一是增量校驗(yàn),含義就是會(huì)實(shí)時(shí)校驗(yàn)這一筆數(shù)據(jù)從源端抽取,到它的增量變化,再到寫到目標(biāo)端之后,這筆數(shù)據(jù)落庫(kù)落得準(zhǔn)不準(zhǔn)確,是不是在正確的目標(biāo)上寫下這筆數(shù)據(jù);二是存量校驗(yàn),可能是一些定時(shí)定期去跑批,比如說定期對(duì)源和目標(biāo)的數(shù)據(jù)進(jìn)行整體的校驗(yàn),以能夠主動(dòng)及時(shí)地發(fā)現(xiàn)整個(gè)數(shù)據(jù)通路上的問題和錯(cuò)誤。
基于數(shù)據(jù)同步的跨城雙活架構(gòu):
首先左邊和右邊代表不同的城市,這里舉例左邊是深圳,右邊是上海。從圖上可以看到,騰訊云CynosDB(TDSQL)在SZ這套實(shí)例會(huì)將業(yè)務(wù)不斷寫入的增量數(shù)據(jù)源源不斷地寫入本城的消息隊(duì)列里面。對(duì)城的SH也會(huì)將自己業(yè)務(wù)訪問的增量數(shù)據(jù)源源不斷寫到消息隊(duì)列里面,同時(shí)在各個(gè)城市有一套自己的消費(fèi)服務(wù),這套消費(fèi)服務(wù)會(huì)拉取對(duì)端的增量數(shù)據(jù),也就是說會(huì)拉對(duì)城的消息隊(duì)列里面的增量數(shù)據(jù)進(jìn)行重放,這樣就實(shí)現(xiàn)了兩套基于數(shù)據(jù)同步的一套跨城雙活。這個(gè)雙活是有前提條件的——就是兩套業(yè)務(wù)在SZ和SH同時(shí)寫的時(shí)候,它的訪問主鍵一定是分離,在這一套邏輯下面沒有辦法做到同時(shí)對(duì)同一條主鍵進(jìn)行修改。
數(shù)據(jù)庫(kù)遷移高可用多源同步
安全問題是數(shù)據(jù)庫(kù)遷移考慮的重中之重。值得一提的是,基于多源同步的方案實(shí)踐,還能實(shí)現(xiàn)數(shù)據(jù)庫(kù)遷移中的安全風(fēng)險(xiǎn)控制。因?yàn)闇?zhǔn)實(shí)時(shí)的數(shù)據(jù)同步分發(fā)與雙向數(shù)據(jù)遷移等性能特性,使得多源同步服務(wù)輕松實(shí)現(xiàn)了解耦與風(fēng)險(xiǎn)控制,保障系統(tǒng)持續(xù)可用。
數(shù)據(jù)庫(kù)遷移涉及大量核心數(shù)據(jù)信息,”快”和”穩(wěn)”缺一不可。多源同步服務(wù)作為騰訊云數(shù)據(jù)庫(kù)內(nèi)置功能特性,在數(shù)據(jù)庫(kù)國(guó)產(chǎn)化轉(zhuǎn)型實(shí)踐中久經(jīng)驗(yàn)證,至今助力超過600家金融政企機(jī)構(gòu)數(shù)據(jù)庫(kù)國(guó)產(chǎn)化遷移投產(chǎn)。
以某省廣電局遷移案例為例,騰訊云多源同步遷移服務(wù)通過重新部署業(yè)務(wù)系統(tǒng)的遷移方式,從遷移準(zhǔn)備、遷移評(píng)估、方案設(shè)計(jì)、資源準(zhǔn)備及數(shù)據(jù)庫(kù)改造、遷移實(shí)施、結(jié)果驗(yàn)證一共只使用30天。其中最為關(guān)鍵的資源準(zhǔn)備及數(shù)據(jù)庫(kù)改造環(huán)節(jié)用時(shí)7天!將客戶的業(yè)務(wù)系統(tǒng)數(shù)據(jù)庫(kù)從Oracle遷移到CynosDB(TDSQL),CynosDB(TDSQL)的性能滿足了客戶面臨的現(xiàn)有的業(yè)務(wù)壓力。而業(yè)務(wù)系統(tǒng)遷移過程中對(duì)數(shù)據(jù)完整性保障,為后續(xù)新業(yè)務(wù)系統(tǒng)運(yùn)維提供了良好的數(shù)據(jù)基礎(chǔ)。
而在一些金融級(jí)高度敏感業(yè)務(wù)系統(tǒng)遷移實(shí)踐中,CynosDB(TDSQL)很好地實(shí)踐了兼顧性能和安全的遷移服務(wù)策略。以張家港行核心系統(tǒng)數(shù)據(jù)庫(kù)遷移為例,張家港行聯(lián)合騰訊云及系統(tǒng)建設(shè)方長(zhǎng)亮科技,充分結(jié)合銀行傳統(tǒng)業(yè)務(wù)與互聯(lián)網(wǎng)業(yè)務(wù)的場(chǎng)景差異,對(duì)業(yè)務(wù)邏輯進(jìn)行重新設(shè)計(jì),以完成新一代核心系統(tǒng)應(yīng)用兼容性改造和數(shù)據(jù)庫(kù)升級(jí)優(yōu)化。同時(shí),依托騰訊云提供的異構(gòu)數(shù)據(jù)庫(kù)同步方案,三方還實(shí)施了CynosDB(TDSQL)和集中式數(shù)據(jù)庫(kù)數(shù)據(jù)準(zhǔn)實(shí)時(shí)同步的策略,作為兜底方案。值得一提的是,這個(gè)雙版本同步兜底方案,最終無需派上用場(chǎng),新核心系統(tǒng)系統(tǒng)平穩(wěn)上線,順利投產(chǎn)。