新聞中心

EEPW首頁 > 新品快遞 > 十年比肩?看國產(chǎn)數(shù)據(jù)庫如何突出重圍!

十年比肩?看國產(chǎn)數(shù)據(jù)庫如何突出重圍!

作者:楊陽 時間:2021-08-13 來源:電子產(chǎn)品世界 收藏

作為核心技術(shù)“三大件”之一,數(shù)據(jù)庫在中國的發(fā)展可謂齟齬前行。1978年,中國人民大學(xué)經(jīng)濟(jì)信息管理系創(chuàng)建人薩師煊提出了發(fā)展數(shù)據(jù)庫的理念,并在1979年匯集成《數(shù)據(jù)庫系統(tǒng)簡介》和《數(shù)據(jù)庫方法》,成為我國最早的數(shù)據(jù)庫學(xué)術(shù)啟蒙讀物。

本文引用地址:http://butianyuan.cn/article/202108/427563.htm

20年后,國內(nèi)第一家數(shù)據(jù)庫公司人大金倉KINGBASE創(chuàng)立。據(jù)人大金倉總裁杜勝介紹,人大金倉之所以有“人大”兩個字,是因為從人民大學(xué)信息學(xué)院中脫胎而來,“金倉”則原本是信息學(xué)院的一個研究課題。

“數(shù)據(jù)庫門檻太高,國外很早就已經(jīng)發(fā)展成熟,大家都知道在這個領(lǐng)域投資會賠錢,所以當(dāng)時沒有人投。后來是人大的老師們湊了50萬元一起創(chuàng)辦,才有了今天的人大金倉?!?/p>

從數(shù)據(jù)庫概念的提出,到產(chǎn)業(yè)化的落地,都是自“人大”開始。本期《新程序員》與人大金倉總裁杜勝,就數(shù)據(jù)庫的技術(shù)演進(jìn)邏輯、產(chǎn)業(yè)的發(fā)展周期,以及核心研發(fā)人員如何培養(yǎng)等方面進(jìn)行了深入探討。

業(yè)務(wù)邏輯趨向應(yīng)用端,數(shù)據(jù)庫集群并行運算

《新程序員》:經(jīng)過數(shù)十年發(fā)展,數(shù)據(jù)庫技術(shù)不斷迭代更新,從File形式存儲到層次型數(shù)據(jù)庫,再到關(guān)系型數(shù)據(jù)庫……你是在哪個階段進(jìn)入到這一領(lǐng)域?后續(xù)發(fā)展呈現(xiàn)怎樣的特點?

杜勝:我是在關(guān)系型數(shù)據(jù)庫時代切入到這個領(lǐng)域的。應(yīng)該說我們現(xiàn)在看到的大多數(shù)數(shù)據(jù)庫應(yīng)用都是關(guān)系型場景。關(guān)系型數(shù)據(jù)庫最早是基于傳統(tǒng)C/S架構(gòu),比如20年前我們會用PowerBuilder,或者Delphi這類語言去做客戶端的展現(xiàn)。

一般前端很少寫業(yè)務(wù)實現(xiàn)邏輯,它的實現(xiàn)主要通過數(shù)據(jù)庫來進(jìn)行運算。當(dāng)數(shù)據(jù)庫在存儲過程中把邏輯實現(xiàn)后,再通過前端按鈕觸發(fā)邏輯運行。

對于早期應(yīng)用來說,數(shù)據(jù)庫是核心。大量的應(yīng)用邏輯是基于數(shù)據(jù)庫的PL/SQL語言來開發(fā)的,一是這樣的語言作為腳本語言學(xué)習(xí)難度低,容易上手;二是數(shù)據(jù)庫能夠提供非常多的功能擴(kuò)展包,幫助應(yīng)用快速實現(xiàn)功能,比如要完成某個遞歸算法時,通過數(shù)據(jù)庫中的一個函數(shù)就可以完成。如果是我們自己編程,代價就會高很多。從關(guān)系型數(shù)據(jù)庫時代開始,數(shù)據(jù)庫就成為了應(yīng)用中不可或缺的一部分。

《新程序員》:從數(shù)據(jù)庫發(fā)展歷程來看,演進(jìn)的邏輯是什么?

杜勝:關(guān)系型數(shù)據(jù)庫之所以登上歷史舞臺,主要在于它對應(yīng)用的支撐作用。傳統(tǒng)C/S(Client/Server)應(yīng)用,Client端模式非常簡單,更重的落腳在Server端,Server對于數(shù)據(jù)庫來說是至關(guān)重要的部件。后來,應(yīng)用從C/S演變到B/S(Browser/Server),出現(xiàn)中間件,一些邏輯就開始往中間件遷移。當(dāng)然,還有部分應(yīng)用依然沒有擺脫C/S架構(gòu)的特點,依托數(shù)據(jù)庫完成業(yè)務(wù)邏輯計算,但當(dāng)中間件發(fā)展到一定程度后,邏輯開始向應(yīng)用代碼中遷移。

再到未來云原生的模式,用戶對應(yīng)用的投入越來越高,對數(shù)據(jù)庫的依賴則在降低。整體上,數(shù)據(jù)庫更多在于提升伸縮性和彈性,以應(yīng)付更大的并發(fā)量和負(fù)載壓力。所以,數(shù)據(jù)存儲和吞吐能力整體在提升,業(yè)務(wù)運算方面則在弱化。

包括現(xiàn)在討論的分布式數(shù)據(jù)庫,更多是基于數(shù)據(jù)的存儲,運算基本放在應(yīng)用端來實現(xiàn),這是應(yīng)用整體架構(gòu)的變化帶來的。架構(gòu)的變化基于應(yīng)用場景的變化,是應(yīng)用在驅(qū)動我們的底層變革,數(shù)據(jù)庫實際上是被動跟隨。

《新程序員》:一直以來,數(shù)據(jù)庫行業(yè)都在討論如何實現(xiàn)技術(shù)“去O”,你認(rèn)為該如何實現(xiàn)?

杜勝:過去有兩個說法,一個是“去O”,一個是“替O”。這是兩種思路的差異,“去O”主要因為Oracle足夠復(fù)雜,很難取代。那么,就從應(yīng)用的角度入手,讓應(yīng)用端承擔(dān)更多的運算,從而避免使用Oracle的復(fù)雜能力,繞開它。我們當(dāng)然可以用應(yīng)用代碼來編寫業(yè)務(wù)邏輯,比如用MySQL開源數(shù)據(jù)庫來滿足需求,但這樣的話,所有的應(yīng)用都必須重寫,不能再利用歷史資產(chǎn),相當(dāng)于重構(gòu)一個新的體系。

另一條路徑是“替O”,延續(xù)原本的規(guī)則和體系,依然使用存儲過程和函數(shù)?!疤妗钡暮x在于讓國產(chǎn)數(shù)據(jù)庫產(chǎn)品具備同等能力,從而替換Oracle。

相較而言,“替O”路徑對于應(yīng)用廠商而言成本更低,因為“替”的過程實現(xiàn)對于應(yīng)用廠商來說更容易,客戶的歷史資產(chǎn)能夠得到保留。對于一些傳統(tǒng)企業(yè)和黨政客戶來說,盡可能利用歷史資產(chǎn)是最優(yōu)選擇。但在互聯(lián)網(wǎng)領(lǐng)域,對成本不是很敏感,一般會選擇“去O”。

當(dāng)然,隨著云原生的發(fā)展,新的技術(shù)路線也在演進(jìn)。未來數(shù)據(jù)庫的使用會更加偏向目前互聯(lián)網(wǎng)的模式,我們會在應(yīng)用中實現(xiàn)更多業(yè)務(wù)邏輯,從而降低對數(shù)據(jù)庫的依賴,這是一個大的趨勢。

《新程序員》:從“數(shù)據(jù)庫”到“數(shù)據(jù)倉庫”,只是一個字的變化,看上去只表現(xiàn)在量級上的差別。你認(rèn)為從“庫”到“倉庫”之后,有哪些延續(xù)了?有哪些升級了?

杜勝:從數(shù)據(jù)庫到數(shù)據(jù)倉庫的變化主要基于社會信息化程度越來越高。

在早期,數(shù)據(jù)庫能夠解決交易和分析兩方面的問題。但近三十年來,信息化逐漸興起,隨著數(shù)據(jù)量的不斷積累,我們遇到了兩個問題:第一,數(shù)據(jù)存儲遇到挑戰(zhàn),設(shè)計的容量不夠,需要把它擴(kuò)大;第二,有了這么多數(shù)據(jù)之后,該怎么用?數(shù)據(jù)本身沒有任何價值,只有把它們用作分析、統(tǒng)計或者運算才有意義。

要解決數(shù)據(jù)容量不夠和數(shù)據(jù)處理不足這兩個問題,在單點的運算能力難以支撐下,就需要構(gòu)建大的數(shù)據(jù)庫集群,進(jìn)行并行運算。

我們有一款名為KADB的產(chǎn)品,是用MPP技術(shù)來實現(xiàn)的分布式數(shù)據(jù)庫,可以實現(xiàn)大規(guī)模并行處理。通過并行運算,原來一個單機(jī)兩到三天才能運算出的結(jié)果,構(gòu)建100臺集群后,幾分鐘之內(nèi)就可以把結(jié)果計算出來。因此,從數(shù)據(jù)庫到數(shù)據(jù)倉庫不僅是量的變化,我們要面對的場景更復(fù)雜,處理能力也需要極大提升。

《新程序員》:目前產(chǎn)業(yè)還面臨哪些普遍的技術(shù)難題?

杜勝:在傳統(tǒng)領(lǐng)域,共享存儲集群還是非常困難的技術(shù)。對于數(shù)據(jù)庫軟件來說,穩(wěn)定可靠是第一位,如果這個問題沒有解決,其他都沒有意義。但目前來看,只有Oracle能做到這點。

雖然我們想要彎道超車,但這類硬核技術(shù)的研發(fā)幾乎是不可能的,同時也不太可能用某種新技術(shù)來代替。無論軟、硬件,底層技術(shù)的要求都非常高,很難通過走捷徑解決,只能一點點消化、學(xué)習(xí),希望市場能夠給我們沉淀和試錯的時間。

數(shù)據(jù)庫產(chǎn)業(yè)處于成長期,產(chǎn)學(xué)體系仍需優(yōu)化

《新程序員》:相較于AI、物聯(lián)網(wǎng)、云計算等動輒萬億產(chǎn)值的技術(shù),數(shù)據(jù)庫在早年沒有被追捧,但近年資本也逐漸涌入這個領(lǐng)域,為什么會掀起這樣的熱潮?

杜勝:確實,如果放在前些年,人大金倉想要在資本市場獲得關(guān)注是很困難的。但最近三年我們發(fā)現(xiàn),資本對數(shù)據(jù)庫產(chǎn)業(yè)的關(guān)注明顯提升。近期有幾家產(chǎn)業(yè)鏈友商獲得大額融資,最多的獲得了2.6億美金。這在過去是不可想象的,說明現(xiàn)在國內(nèi)態(tài)勢正在轉(zhuǎn)變。

為什么會出現(xiàn)這樣的趨勢?說白了就是核心技術(shù)要掌握在自己手里,才能從根本上保證產(chǎn)品的自主可控。

在全球化時代,看似所有東西都能買到,但關(guān)乎到核心技術(shù)和核心理論,還是存在普遍的保護(hù)主義的。這對于我們即將開啟的數(shù)字化轉(zhuǎn)型無疑是壞消息,整個經(jīng)濟(jì)都要構(gòu)建在數(shù)字底座上,我們買不到就只能自己做。所以,這個節(jié)點上,資本投入數(shù)據(jù)庫領(lǐng)域也是情理中。

《新程序員》:從產(chǎn)業(yè)周期看,你覺得國內(nèi)數(shù)據(jù)庫是處于成長期,還是已快到成熟期?

杜勝:我個人感覺還是在成長期,我們評價產(chǎn)業(yè)發(fā)展階段有一個標(biāo)準(zhǔn),就是產(chǎn)業(yè)從業(yè)人員,尤其是核心技術(shù)從業(yè)人員能否支撐產(chǎn)業(yè)的可持續(xù)發(fā)展。很明顯,我們在核心技術(shù)人員的儲備上嚴(yán)重不足。再從市場來看,自2001年中國加入WTO,國外品牌紛紛進(jìn)入中國,二十年過去了,依然占據(jù)大多數(shù)市場份額,壟斷是一直存在的。

在現(xiàn)象背后,是后進(jìn)者與先進(jìn)者的歷史差距。Oracle 1977年創(chuàng)立,人大金倉1999年創(chuàng)辦,盡管是國內(nèi)最早的數(shù)據(jù)庫公司,但還是落后了22年。

當(dāng)然,我們走向成熟也指日可待。一方面基于國家層面的規(guī)劃;另一方面,最近幾年涌現(xiàn)出200余家數(shù)據(jù)庫公司,這是非常好的現(xiàn)象。雖然短期可能有泡沫,但行業(yè)做起來會吸引大量人才,大浪淘沙后優(yōu)秀者自然會留下,行業(yè)也會逐步走向成熟。

《新程序員》:在硬核技術(shù)領(lǐng)域,你覺得很難“彎道超車”。但面對這樣既重要又困難的現(xiàn)實,產(chǎn)業(yè)界往往又寄希望于有這樣的彎道,對此,你認(rèn)為該怎么辦?

杜勝:需要從兩個方面來說,一個是技術(shù)的底層邏輯,一個是人才和市場。

首先,做基礎(chǔ)軟件需要端正心態(tài)。在整個產(chǎn)業(yè)鏈上,過去做得好的是應(yīng)用,比如淘寶、美團(tuán)、抖音等軟件,滿足了客戶需求并持續(xù)深耕,就能在市場中下沉。

然而,基礎(chǔ)軟件開發(fā)有客觀規(guī)律和周期。比如,目前我們的高等教育、研究與產(chǎn)業(yè)界之間仍然不能緊密銜接。學(xué)校的老師大部分是本、碩、博“直通車”,上完學(xué)就回到學(xué)校教學(xué),很少有在產(chǎn)業(yè)界扎根的經(jīng)歷,學(xué)校和產(chǎn)業(yè)是脫節(jié)的。如何達(dá)成人才培養(yǎng)閉環(huán)和產(chǎn)業(yè)閉環(huán)?可以借鑒一些成熟的經(jīng)驗,比如國際名校的很多老師曾是產(chǎn)業(yè)界的高級經(jīng)理人,或者是技術(shù)人員。他們退休后利用閑暇回到學(xué)校,將產(chǎn)業(yè)中遇到的難題和研究方法教授給學(xué)生。這樣,理論可以有的放矢,產(chǎn)業(yè)界的實踐也通過大學(xué)的進(jìn)一步研究而系統(tǒng)升華。我們的學(xué)校也開始有這樣的趨勢,但還需要持續(xù)發(fā)展形成閉環(huán)。

其次,每個人有不同的個體稟賦,我們的學(xué)生也都非常聰明勤奮,現(xiàn)在世界上很多知名科學(xué)家都是華人。從主觀能動性的角度,我還是相信整體的學(xué)習(xí)氛圍能讓我們在某些領(lǐng)域趕超,然后帶動其他領(lǐng)域。

再者,以人大金倉的經(jīng)歷來看,市場也是轉(zhuǎn)折的關(guān)鍵。在創(chuàng)立的前十年我們發(fā)展比較慢,國外軟件幾乎沒給我們留什么機(jī)會。09年被中國電科收購之后,我們加入了“國家電網(wǎng)核心電力調(diào)度系統(tǒng)”這個項目,通過這個系統(tǒng)應(yīng)用獲得的良好聲譽(yù),讓我們的產(chǎn)品和服務(wù)打開了市場。

所以,技術(shù)落地要符合客觀規(guī)律,還需要在體系建設(shè)上持續(xù)優(yōu)化。從人的主觀能動性和市場培育角度,我覺得還是有超越的可能。未來十年,我們希望進(jìn)入國際市場,再過五年,或許可以做到世界領(lǐng)先。

DBA與核心研發(fā)人員的培養(yǎng)

《新程序員》:對于數(shù)據(jù)庫核心研發(fā)人員的培育,人大金倉是通過怎樣的方式來培養(yǎng)?

杜勝:我們現(xiàn)在的人才體系有兩類:

第一類是數(shù)據(jù)庫的使用人才,就是常說的DBA,培養(yǎng)核心是怎么使用和維護(hù)數(shù)據(jù)庫。這類人才的培養(yǎng)相對容易,美國數(shù)據(jù)庫軟件公司已經(jīng)幫我們培養(yǎng)了很多人。對他們來說,在我們這里的學(xué)習(xí)不是從0開始,而是“再學(xué)習(xí)”。在共通的數(shù)據(jù)庫技術(shù)下,他們轉(zhuǎn)換很快,可以把以前Oracle、Db2、SQL Server等的DBA很快轉(zhuǎn)化到國產(chǎn)數(shù)據(jù)庫,這樣就多掌握了一門技術(shù)。我們現(xiàn)在面向全國開設(shè)免費學(xué)習(xí)課程,包括KCA、KCP、KCM,國外這類課程都是收費的。對于我們來說,為產(chǎn)業(yè)培育人才不是為了盈利,是為了讓生態(tài)快速建立起來。

第二類是核心研發(fā)人員,這類人才培養(yǎng)非常困難。就目前情況來看,中國有非常多的程序員,但做數(shù)據(jù)庫內(nèi)核研發(fā)的只有一兩千人。以傳統(tǒng)師傅帶徒弟的自然培養(yǎng)方式顯然是不夠的,我們要把人才體系真正建立起來。目前國內(nèi)開設(shè)數(shù)據(jù)庫相關(guān)課程的高校只有二十多家,我們已經(jīng)和人民大學(xué)、武漢大學(xué)、山東大學(xué)合作開發(fā)課程,增設(shè)了數(shù)據(jù)庫內(nèi)核專業(yè)。

《新程序員》:你要“從IT應(yīng)用軟件產(chǎn)業(yè)中尋覓人才”,《新程序員》的核心受眾正是龐大的軟件開發(fā)者群體,你對開發(fā)者有什么要說嗎?

杜勝:如果仔細(xì)觀察,我們不難發(fā)現(xiàn)做數(shù)據(jù)庫的都是國際巨頭,像2019年排名前五的數(shù)據(jù)庫廠商:Oracle、微軟、AWS、IBM、SAP。事實上,做系統(tǒng)類軟件才能在全球通用,所以這個市場量足夠大。假以時日,我們國產(chǎn)數(shù)據(jù)庫真正成長起來,彼時遍布所有行業(yè),那一定會成長為巨頭公司。如果看好數(shù)據(jù)庫,想讓你做的軟件被世人銘記,那就加入我們!



關(guān)鍵詞:

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉