近日,在2020中國(guó)系統(tǒng)架構(gòu)師大會(huì)上,騰訊云數(shù)據(jù)庫技術(shù)負(fù)責(zé)人雷海林圍繞騰訊云數(shù)據(jù)庫異構(gòu)多源同步遷移技術(shù)方案進(jìn)行了分享。“數(shù)據(jù)庫未來一定是向分布式方向發(fā)展,數(shù)據(jù)庫核動(dòng)力升級(jí)的時(shí)代即將到來。”雷海林表示。
國(guó)產(chǎn)化巨浪加速
從計(jì)算機(jī)出現(xiàn)開始,在各行各業(yè)的電子化發(fā)展過程中,傳統(tǒng)關(guān)系型數(shù)據(jù)庫都發(fā)揮著至關(guān)重要的作用,成為銀行、保險(xiǎn)、證券、政務(wù)、醫(yī)療等各行業(yè)電子系統(tǒng)的核心基礎(chǔ)軟件系統(tǒng)。
而隨著云計(jì)算、數(shù)字互聯(lián)網(wǎng)等新一代技術(shù)變遷,近年來關(guān)系型數(shù)據(jù)庫也隨之發(fā)生變革,形成了從以國(guó)外商業(yè)數(shù)據(jù)庫為代表的傳統(tǒng)集中式數(shù)據(jù)庫,向以國(guó)內(nèi)科技巨頭研發(fā)沉淀的分布式數(shù)據(jù)庫轉(zhuǎn)變的趨勢(shì)浪潮,以實(shí)現(xiàn)全行業(yè)技術(shù)的分布式轉(zhuǎn)型升級(jí)。國(guó)外傳統(tǒng)集中式數(shù)據(jù)庫,性能瓶頸明顯、成本消耗巨大,而基于云計(jì)算時(shí)代的彈性可擴(kuò)展分布式數(shù)據(jù)庫,具備高性能低成本、彈性伸縮等優(yōu)勢(shì)。從集中式向分布式遷移,好比柴油動(dòng)力終將為核動(dòng)力所替換。
對(duì)于國(guó)內(nèi)產(chǎn)業(yè)機(jī)構(gòu)而言,實(shí)現(xiàn)核心技術(shù)安全可控、降本增效也成為了產(chǎn)業(yè)升級(jí)下刻不容緩需要實(shí)施變革的問題。隨著近年來相關(guān)政府監(jiān)管部門連續(xù)出臺(tái)重要指導(dǎo)政策,企業(yè)數(shù)據(jù)庫擺脫國(guó)外數(shù)據(jù)庫依賴、從國(guó)外傳統(tǒng)集中式數(shù)據(jù)庫向基于國(guó)產(chǎn)分布式數(shù)據(jù)庫遷移上云成為大勢(shì)所趨。國(guó)際權(quán)威咨詢機(jī)構(gòu)Gartner在最新數(shù)據(jù)庫行業(yè)研究報(bào)告中指出,預(yù)計(jì)到2021年,云數(shù)據(jù)庫在整個(gè)數(shù)據(jù)庫市場(chǎng)中的占比將首次達(dá)到50%;而到2023年,75%的數(shù)據(jù)庫要跑在云平臺(tái)之上。
然而,由于數(shù)據(jù)庫關(guān)系數(shù)據(jù)安全命脈、遷移成本以及技術(shù)復(fù)雜程度高、新目標(biāo)數(shù)據(jù)庫難以選型等問題,過去企業(yè)數(shù)據(jù)庫國(guó)產(chǎn)化進(jìn)程仍處于逐步探索、推進(jìn)過程中。騰訊云數(shù)據(jù)庫基于近年來大量豐富的數(shù)據(jù)庫遷移實(shí)踐,一方面沉淀了完善的云計(jì)算分布式數(shù)據(jù)庫產(chǎn)品系列,可適應(yīng)廣泛的企業(yè)數(shù)據(jù)庫遷移轉(zhuǎn)型需求,同時(shí)沉淀打造出標(biāo)準(zhǔn)成熟、可驗(yàn)證可復(fù)用的數(shù)據(jù)庫遷移解決方案——多源異構(gòu)遷移同步解決方案DBbridge,并將其打造成平臺(tái)型能力,助力客戶實(shí)現(xiàn)數(shù)據(jù)庫平穩(wěn)快速遷移,大幅降低數(shù)據(jù)庫遷移改造成本。
在這樣的基礎(chǔ)上,行業(yè)分布式技術(shù)轉(zhuǎn)型乘風(fēng)破浪,數(shù)據(jù)庫國(guó)產(chǎn)化浪潮正加速推進(jìn),成為時(shí)代技術(shù)變革的重要推動(dòng)。據(jù)統(tǒng)計(jì),經(jīng)過數(shù)年的發(fā)展,隨著數(shù)據(jù)庫底層能力的升級(jí)以及智能調(diào)度、智能診斷、異構(gòu)遷移同步等周邊能力完善,截至2020年9月,騰訊云數(shù)據(jù)庫服務(wù)客戶數(shù)已經(jīng)超50萬,其中還不乏擁有超過1萬個(gè)數(shù)據(jù)庫實(shí)例的客戶的存在,充分證明騰訊云數(shù)據(jù)庫系列產(chǎn)品能力以及數(shù)據(jù)庫遷移同步等服務(wù)能力具備領(lǐng)先優(yōu)勢(shì)。
數(shù)據(jù)庫遷移的痛點(diǎn)
數(shù)據(jù)庫負(fù)責(zé)所有業(yè)務(wù)系統(tǒng)的數(shù)據(jù)存儲(chǔ)計(jì)算與交易,牽一發(fā)而動(dòng)全一身。同時(shí)由于多年來基于生態(tài)封閉的傳統(tǒng)國(guó)外數(shù)據(jù)庫產(chǎn)品,系統(tǒng)兼容性程度復(fù)雜。更重要的是,作為系統(tǒng)架構(gòu)轉(zhuǎn)型的關(guān)鍵支點(diǎn),數(shù)據(jù)庫遷移一方面可實(shí)現(xiàn)安全可控,另一方面是需要幫助企業(yè)考慮如何應(yīng)對(duì)在云計(jì)算時(shí)代未來業(yè)務(wù)和系統(tǒng)的數(shù)字化、多元化發(fā)展需求,因此數(shù)據(jù)庫的選型同樣至關(guān)重要。
由此種種,企業(yè)數(shù)據(jù)庫分布式轉(zhuǎn)型、國(guó)產(chǎn)化遷移過程中,面臨多個(gè)痛點(diǎn)。總結(jié)起來包括:
l遷移成本高,工作量大。人工操作數(shù)據(jù)庫遷移風(fēng)險(xiǎn)較高,遷移周期長(zhǎng),耗費(fèi)的人力成本較高。
l數(shù)據(jù)庫遷移技術(shù)復(fù)雜。數(shù)據(jù)庫遷移對(duì)操作人員的技術(shù)水平要求較高,不僅需要掌握源數(shù)據(jù)庫的技術(shù)還有懂得目的數(shù)據(jù)庫的技術(shù),并了解數(shù)據(jù)庫之間遷移技術(shù)。
l異構(gòu)數(shù)據(jù)庫的兼容程度不好評(píng)估。源庫遷移到目的數(shù)據(jù)庫的對(duì)象兼容程度如何,應(yīng)用SQL兼容程度如何,遷移改造的風(fēng)險(xiǎn)和難度如何量化評(píng)估。
l遷移過程無標(biāo)準(zhǔn)化流程。整個(gè)遷移過程復(fù)用程度低,沒有一個(gè)標(biāo)準(zhǔn)化的最佳實(shí)踐方案。
l目標(biāo)數(shù)據(jù)庫選型困難。國(guó)產(chǎn)數(shù)據(jù)庫類型較多,無法快速選擇適合業(yè)務(wù)場(chǎng)景的數(shù)據(jù)庫類型。
數(shù)據(jù)庫更新迭代也容易
在對(duì)外開放核心技術(shù)產(chǎn)品,推動(dòng)行業(yè)數(shù)據(jù)庫及系統(tǒng)技術(shù)架構(gòu)轉(zhuǎn)型升級(jí)的產(chǎn)業(yè)化實(shí)踐中,騰訊云數(shù)據(jù)庫基于騰訊聯(lián)合生態(tài)內(nèi)多年數(shù)據(jù)庫運(yùn)維和工程師研發(fā)經(jīng)驗(yàn)的技術(shù)積累,將海量實(shí)例的數(shù)據(jù)遷移同步經(jīng)驗(yàn)與技術(shù)實(shí)踐沉淀成DTS-DBbridge數(shù)據(jù)庫遷移平臺(tái),為行業(yè)提供簡(jiǎn)單易用的數(shù)據(jù)庫遷移平臺(tái)。
具體來說,DTS-DBbridge數(shù)據(jù)庫遷移平臺(tái)以騰訊云數(shù)據(jù)庫多源異構(gòu)數(shù)據(jù)遷移同步(MULTISRCSYNC)為技術(shù)核心,包含強(qiáng)大的自動(dòng)化評(píng)估和改造工具、標(biāo)準(zhǔn)化的異構(gòu)數(shù)據(jù)庫遷移流程方案等,從評(píng)估、選型、改造、遷移、校驗(yàn)等每個(gè)環(huán)節(jié),用戶都只需通過鼠標(biāo)即可完成可視化操作,即可以實(shí)現(xiàn)高性能、高可用、高可靠的數(shù)據(jù)庫遷移,真正做到便捷、安全、易運(yùn)維。
同時(shí),騰訊云提供自研的多引擎云原生數(shù)據(jù)庫CynoSDB、金融級(jí)分布式數(shù)據(jù)庫CynoSDB(TDSQL)和分析型數(shù)據(jù)庫CynoSDB(Tbase)等完善的數(shù)據(jù)庫產(chǎn)品體系,可滿足云計(jì)算時(shí)代行業(yè)對(duì)數(shù)據(jù)庫的多種業(yè)務(wù)場(chǎng)景需求,為企業(yè)客戶提供完整的數(shù)據(jù)庫遷移改造解決方案。
DTS-DBbridge解決方案架構(gòu)
數(shù)據(jù)庫遷移評(píng)估與決策
數(shù)據(jù)庫遷移前,DTS-DBbridge平臺(tái)首先將基于對(duì)原數(shù)據(jù)庫的數(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ù)庫整體解決方案。
在評(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ù)庫,向目標(biāo)端系統(tǒng)與數(shù)據(jù)庫進(jìn)行遷移改造。
除了數(shù)據(jù)庫轉(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ù)庫DBbridge具備高性能、高一致、支持多種異構(gòu)數(shù)據(jù)平臺(tái)的數(shù)據(jù)分發(fā)的特性,其支持以騰訊云數(shù)據(jù)庫作為源端的數(shù)據(jù)實(shí)時(shí)同步分發(fā)至 MySQL、Oracle、PostgreSQL、消息隊(duì)列等平臺(tái),同時(shí)也支持以騰訊云數(shù)據(jù)庫作為目標(biāo)端,將 MySQL或者 Oracle的數(shù)據(jù)實(shí)時(shí)同步至騰訊云數(shù)據(jù)庫中,并且部署靈活,支持一對(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ù)庫之間的結(jié)構(gòu)遷移、增量同步。
結(jié)構(gòu)遷移流程動(dòng)圖
此外,騰訊云數(shù)據(jù)庫提供完善的服務(wù)保障,整體遷移方案采取平穩(wěn)過渡,在服務(wù)交割遷移中,將采取原應(yīng)用系統(tǒng)和新應(yīng)用系統(tǒng)并行跑一段時(shí)間的措施,測(cè)試新應(yīng)用系統(tǒng)沒有問題后,做正式的服務(wù)交割。
數(shù)據(jù)庫遷移自動(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ù)落庫落得準(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ù)庫遷移高可用多源同步
安全問題是數(shù)據(jù)庫遷移考慮的重中之重。值得一提的是,基于多源同步的方案實(shí)踐,還能實(shí)現(xiàn)數(shù)據(jù)庫遷移中的安全風(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ù)庫遷移涉及大量核心數(shù)據(jù)信息,“快”和“穩(wěn)”缺一不可。多源同步服務(wù)作為騰訊云數(shù)據(jù)庫內(nèi)置功能特性,在數(shù)據(jù)庫國(guó)產(chǎn)化轉(zhuǎn)型實(shí)踐中久經(jīng)驗(yàn)證,至今助力超過600家金融政企機(jī)構(gòu)數(shù)據(jù)庫國(guó)產(chǎn)化遷移投產(chǎn)。
以某省廣電局遷移案例為例,騰訊云多源同步遷移服務(wù)通過重新部署業(yè)務(wù)系統(tǒng)的遷移方式,從遷移準(zhǔn)備、遷移評(píng)估、方案設(shè)計(jì)、資源準(zhǔn)備及數(shù)據(jù)庫改造、遷移實(shí)施、結(jié)果驗(yàn)證一共只使用30天。其中最為關(guān)鍵的資源準(zhǔn)備及數(shù)據(jù)庫改造環(huán)節(jié)用時(shí)7天!將客戶的業(yè)務(wù)系統(tǒng)數(shù)據(jù)庫從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ù)庫遷移為例,張家港行聯(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ù)庫升級(jí)優(yōu)化。同時(shí),依托騰訊云提供的異構(gòu)數(shù)據(jù)庫同步方案,三方還實(shí)施了CynosDB(TDSQL)和集中式數(shù)據(jù)庫數(shù)據(jù)準(zhǔn)實(shí)時(shí)同步的策略,作為兜底方案。值得一提的是,這個(gè)雙版本同步兜底方案,最終無需派上用場(chǎng),新核心系統(tǒng)系統(tǒng)平穩(wěn)上線,順利投產(chǎn)。