?
達(dá)夢(mèng)數(shù)據(jù)40余年來始終堅(jiān)持自主研發(fā)、原始創(chuàng)新,堅(jiān)持高水平科技自立、自強(qiáng),致力于推動(dòng)國(guó)產(chǎn)數(shù)據(jù)庫(kù)走向更廣闊的應(yīng)用天地。近日,在2023達(dá)夢(mèng)數(shù)字產(chǎn)業(yè)大會(huì)現(xiàn)場(chǎng),中國(guó)移動(dòng)集團(tuán)首席專家楊慰民帶來了《以自主研發(fā)推進(jìn)大數(shù)據(jù)核心數(shù)據(jù)庫(kù)自主可控》主題演講。
?
?
達(dá)夢(mèng)數(shù)據(jù)
以下為中國(guó)移動(dòng)集團(tuán)首席專家楊慰民現(xiàn)場(chǎng)演講內(nèi)容:
?
在我做系統(tǒng)之前,有人說達(dá)夢(mèng)OLTP做得不錯(cuò),我今天跟大家分享的是,其實(shí)達(dá)夢(mèng)做的OLAP在福建移動(dòng)也解決了不少問題。
福建移動(dòng)O域主動(dòng)運(yùn)維系統(tǒng)
首先,給大家分享的是福建移動(dòng)O域主動(dòng)運(yùn)維系統(tǒng)。為什么叫主動(dòng)運(yùn)維系統(tǒng)?我們?cè)谶^去十年時(shí)間里建了一套系統(tǒng),叫做主動(dòng)運(yùn)維系統(tǒng)。相對(duì)過去的被動(dòng)運(yùn)維系統(tǒng),它能先于客戶投訴,先于設(shè)備告警,我的系統(tǒng)能先發(fā)現(xiàn)問題,并且把問題解決了,才實(shí)現(xiàn)主動(dòng)運(yùn)維的目標(biāo)。我們帶領(lǐng)團(tuán)隊(duì),把我們這套系統(tǒng)的整個(gè)理論體系、核心算法和所有代碼全都自主做出來了,所以我被評(píng)為中國(guó)移動(dòng)的首席專家。當(dāng)然,這套主動(dòng)運(yùn)維系統(tǒng)底層也需要一個(gè)強(qiáng)大的數(shù)據(jù)處理和計(jì)算平臺(tái),這也就是我們與達(dá)夢(mèng)合作的技術(shù)方向。
?
在這個(gè)系統(tǒng)當(dāng)中,應(yīng)用超過1000個(gè),全部的應(yīng)用是百分之百我們自己獨(dú)立完成。這個(gè)是我們的核心。福建移動(dòng)的這套系統(tǒng)一天處理1.5萬億行、550T的數(shù)據(jù)。每天新增這么大的數(shù)據(jù),對(duì)什么數(shù)據(jù)庫(kù)都是一個(gè)巨大的挑戰(zhàn)。這么大的數(shù)據(jù)量過來,包括數(shù)據(jù)怎么進(jìn)數(shù)據(jù)庫(kù),如何查它的記錄,都是難題。
從應(yīng)用100%自研到軟件全棧國(guó)產(chǎn)化演進(jìn)
?
從2019年開始,我們用達(dá)夢(mèng)的分布式數(shù)據(jù)庫(kù)換掉Teradata AsterDB。去年開始,又用達(dá)夢(mèng)的分布式數(shù)據(jù)庫(kù)換掉了GP(EMC)。截至到當(dāng)前,我們用達(dá)夢(mèng)數(shù)據(jù)庫(kù)又要替換掉全部應(yīng)用層的關(guān)系數(shù)據(jù)庫(kù)。整個(gè)過程,代碼遷移僅花了一個(gè)月左右的時(shí)間,一個(gè)月完成1000個(gè)以上應(yīng)用系統(tǒng)的遷移。
數(shù)據(jù)現(xiàn)狀及進(jìn)口數(shù)據(jù)庫(kù)弊端
當(dāng)前數(shù)據(jù)現(xiàn)狀是計(jì)算復(fù)雜度非常高,核心數(shù)據(jù)層每天日均核心計(jì)算任務(wù)40000項(xiàng)。進(jìn)口數(shù)據(jù)庫(kù)自主性差、應(yīng)用成本性高、故障多。使用國(guó)外數(shù)據(jù)庫(kù),經(jīng)常會(huì)有定期重啟的問題,以及經(jīng)常出現(xiàn)頭接尾的問題。例如,往往昨天數(shù)據(jù),一直算到今天晚上才能算得完。如果昨天數(shù)據(jù)還沒算完,新數(shù)據(jù)又來了,那這個(gè)應(yīng)用只好放棄了,這就是非常大的一個(gè)矛盾。對(duì)于應(yīng)用層的關(guān)系數(shù)據(jù)庫(kù),它的處理能力也是要求非常高的,替換之后既要支撐應(yīng)用,也需要參與部分大數(shù)據(jù)數(shù)據(jù)計(jì)算,還存在大量跨庫(kù)數(shù)據(jù)的處理。
從核心層到應(yīng)用層數(shù)據(jù)庫(kù)國(guó)產(chǎn)化改造
核心層OLAP數(shù)據(jù)庫(kù)國(guó)產(chǎn)化遷移。在這個(gè)過程當(dāng)中,我們以當(dāng)前結(jié)果回看過去幾年,當(dāng)時(shí)我們?yōu)槭裁锤矣眠_(dá)夢(mèng)的OLAP?之前用國(guó)外數(shù)據(jù)庫(kù),經(jīng)常重啟,數(shù)據(jù)出不來。后面,把每天運(yùn)行足夠長(zhǎng)的,如每天超過12小時(shí)甚至達(dá)到13小時(shí)的應(yīng)用,備份一份數(shù)據(jù)到達(dá)夢(mèng)上面。
剛開始,達(dá)夢(mèng)的處理效率和國(guó)外差不多,但是通過我們不斷優(yōu)化數(shù)據(jù)庫(kù),最后把之前一天要跑13個(gè)小時(shí)的應(yīng)用,到達(dá)夢(mèng)跑不到一半時(shí)間,5個(gè)多小時(shí)就處理完。就這樣,達(dá)夢(mèng)OLAP數(shù)據(jù)庫(kù)由備用系統(tǒng)一步一步走向主用,最后把國(guó)外系統(tǒng)下線了;接著又把另外一套大數(shù)據(jù)系統(tǒng)業(yè)務(wù)也合并到這套達(dá)夢(mèng)的分布式數(shù)據(jù)庫(kù)之上,將另外一套國(guó)外系統(tǒng)也下線了。
這套系統(tǒng)相對(duì)還算穩(wěn)定,但經(jīng)常出現(xiàn)頭接尾,出現(xiàn)數(shù)據(jù)丟失情況。原國(guó)外系統(tǒng)中TOP10應(yīng)用平均應(yīng)用時(shí)長(zhǎng)大概是1.18小時(shí),而用達(dá)夢(mèng)的系統(tǒng),同時(shí)換了另外不同國(guó)外系統(tǒng)之后,TOP10應(yīng)用平均應(yīng)用時(shí)長(zhǎng)只有0.65小時(shí),達(dá)夢(mèng)只用了原來國(guó)外數(shù)據(jù)庫(kù)的一半時(shí)長(zhǎng)。再一個(gè)就是,因?yàn)槲覀冇玫腛LAP系統(tǒng),我們跟達(dá)夢(mèng)在降低空間存儲(chǔ)方面還實(shí)踐了很多有效的辦法。
當(dāng)然中間的過程是非常艱辛的,達(dá)夢(mèng)研發(fā)團(tuán)隊(duì)付出了極大的努力,改進(jìn)速度和迭代效率不斷提高。
對(duì)數(shù)據(jù)庫(kù)應(yīng)用來講,存在時(shí)間、空間的考驗(yàn)。可能沒有做過大數(shù)據(jù)的都沒有感覺到,數(shù)據(jù)大到存進(jìn)去的東西取不出來,硬盤都轉(zhuǎn)不起來了,因此時(shí)間和空間是一個(gè)永恒的矛盾。在這個(gè)上面我們移動(dòng)團(tuán)隊(duì)也從業(yè)務(wù)和架構(gòu)方面做了非常大的改進(jìn)。
?
我曾經(jīng)跟達(dá)夢(mèng)高管團(tuán)隊(duì)溝通,希望有一天,達(dá)夢(mèng)的一套OLAP系統(tǒng)能同時(shí)替換原來兩套國(guó)外數(shù)據(jù)庫(kù)(已經(jīng)非常艱難的),最后事實(shí)是我們已經(jīng)做到了。
?
傳統(tǒng)做數(shù)據(jù)庫(kù)的廠家,他們?cè)诰W(wǎng)管上,更多把注意力放在資源利用率監(jiān)控、數(shù)據(jù)本身運(yùn)行監(jiān)控等等。項(xiàng)目中,我們告訴他怎么做可能更適合,以我們多年經(jīng)驗(yàn)來講,從業(yè)務(wù)層面開始進(jìn)行監(jiān)控。所以我們把底層監(jiān)控和應(yīng)用監(jiān)控加在一起,使得達(dá)夢(mèng)數(shù)據(jù)庫(kù)的穩(wěn)定性又得到比較大的提升。其實(shí),在監(jiān)控領(lǐng)域,是國(guó)產(chǎn)數(shù)據(jù)庫(kù)趕超國(guó)外數(shù)據(jù)庫(kù)的一個(gè)比較好的途徑,對(duì)業(yè)務(wù)理解上的補(bǔ)充這是非常重要的。
今年到這個(gè)月底,我們已經(jīng)做了百分之八十以上的應(yīng)用層改造,已經(jīng)基本完成。我們?cè)瓉響?yīng)用層用28臺(tái)國(guó)外單機(jī)關(guān)系數(shù)據(jù)庫(kù),現(xiàn)在我們只用7個(gè)節(jié)點(diǎn)的達(dá)夢(mèng)新一代分布式數(shù)據(jù)庫(kù)一套就是先全替換,采用云化部署,穩(wěn)定性提高的同時(shí),資源都大大省了下來。
總結(jié)與思考
最后是我們的總結(jié),我想這是我們用心工作以后的真實(shí)的想法。
第一,自主研發(fā)的重要性。因?yàn)楦=ㄒ苿?dòng)做的這套主動(dòng)運(yùn)維系統(tǒng)是百分之百我們自己做的。如果這個(gè)系統(tǒng)別人做的,遷移可能會(huì)存在一些問題。因?yàn)槭俏覀冏约鹤?,我們?duì)業(yè)務(wù)深刻理解,所以使后續(xù)處理問題變得簡(jiǎn)單了。
第二,長(zhǎng)期的暴力應(yīng)用場(chǎng)景對(duì)達(dá)夢(mèng)來講是一個(gè)考驗(yàn)。長(zhǎng)期暴力測(cè)試,所有原來沒出現(xiàn)的問題它都會(huì)暴露出來,最后都能解決,證明達(dá)夢(mèng)數(shù)據(jù)庫(kù)更穩(wěn)定了。
第三,可管可控是提升國(guó)產(chǎn)數(shù)據(jù)庫(kù)有效途徑。前面我說的底層的網(wǎng)管能力、應(yīng)用層的網(wǎng)管能力都是對(duì)你的能力有效的一個(gè)提升。
第四,兼容性是國(guó)產(chǎn)數(shù)據(jù)庫(kù)必過的一個(gè)坎。達(dá)夢(mèng)跟Oracle的兼容性做的很好。我們國(guó)產(chǎn)數(shù)據(jù)庫(kù)是后來者,為了降低應(yīng)用層遷移的成本,在兼容性方面一定要做好。
最后,期待未來和達(dá)夢(mèng)有更多更深入、更全面的合作,雙方攜手推進(jìn)國(guó)產(chǎn)數(shù)據(jù)庫(kù)在運(yùn)營(yíng)商行業(yè)更好的應(yīng)用。
?