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