對話騰訊雲資料庫技術負責人:得益於開源的深入和雲廠商的崛起,資料庫又重新回到了聚光燈下

語言: CN / TW / HK

2020 年以來,企業數字化轉型進入深水區,行業數字化場景爆發式增長,資料以指數級數量增長。就在去年,我國也明確了資料在市場化配置過程中成為了繼土地、勞動力、技術、資本之後的第五大生產要素,資料在社會發展程序中的重要性不言而喻。

先是資料倉庫 Snowflake 以史上最大軟體 IPO 的 700 億美元上市,接著 PingCAP、思維縱橫等資料庫科創公司接連重新整理融資紀錄,傳統大廠如騰訊、華為等也在資料庫產品上不斷髮力。縱觀國內資料庫市場,可謂百花齊放、欣欣向榮。

那麼,在過去的 2021 年,資料庫領域又有哪些重要進展?在未來的發展中又面臨著哪些機遇與挑戰?1 月 13 日,InfoQ 大咖說欄目特別邀請到了騰訊雲資料庫技術負責人潘安群,請他來和大家聊聊 2022 年資料庫的技術趨勢。

潘安群,騰訊雲資料庫技術負責人,2007 年研究生畢業於華中科技大學,同年加入騰訊,早期主要作為核心技術負責人開展企業級分散式資料庫 TDSQL 自主研發,擁有超過 14 年分散式計算和分散式資料庫研發經驗,研發成果多次入選國際頂會 VLDB 等,歷年多次代表騰訊出席 CNCC、VLDB、SIGMOD 等重要大會。

影片回放地址: https://www.infoq.cn/video/bxsswFrpD2oPNpw9Rdto

以下內容節選自當天的分享,InfoQ 做了不改變原意的編輯:

2021 年,資料庫產業現狀

融合、開源和井噴是 2021 年資料庫領域的三個關鍵詞。

InfoQ:如果讓您用三個關鍵詞來形容 2021 年資料庫的產業現狀,會是哪三個詞?

潘安群:從技術角度來看,第一個詞是融合。舉個例子,比如現在比較流行的 HTAP,就是事務型負載跟分析型的負載混合在一起,在同一個資料庫裡面去實現這兩種負載,這是一種融合;第二種融合是多引擎,或者是多模態的融合,就是在同一個資料庫裡可以支援多種資料模型;第三種融合是軟硬體間的融合,隨著新硬體的發展,資料庫裡面的紅利也逐漸能夠顯現出來,這是一個大的融合的趨勢。

今年資料庫領域的第二個關鍵詞,我覺得可能是開源。今年很多廠商都在做資料庫的開源,包括 PingCAP 的 TiDB、螞蟻 OceanBase、阿里 PolarDB 以及騰訊雲資料庫 TDSQL,這些廠商大力地把資料庫產品以開源的方式推出來,是想去培養他們整個的開源生態的,無論是創業公司還是大廠,無疑都非常看好開源這一趨勢的。

第三個關鍵詞我認為是井噴。資料庫行業正以大爆發、井噴的方式在增長。這種井噴之勢體現在兩個方面:一方面是資料庫廠商和資料庫產品都出現了大幅增加,整個行業玩家變多了;第二個方面是整個市場的需求出現了一個井噴,在產業網際網路和數字化浪潮之下,產生了對新型資料庫的大量需求,也出現了很多存量市場,原本這些被 Oracle、IBM 所壟斷的市場開始有了國產資料庫發展的空間,很多傳統企業也開始積極地去使用國產的、新型的資料庫去替代原來的資料庫。

InfoQ:您給出的這三個關鍵詞,也正說明了這個行業是欣欣向榮的,據您的觀察,這一年中,資料庫技術取得了哪些進展?

潘安群:資料庫本身不是一個新鮮事物,它已經發展了四五十年的時間,整個資料庫理論體系基本已經成型了,所以目前來看,在理論體系上並沒有非常大的突破。最近幾年,資料庫的變化體現在整個架構層面,主要是雲原生架構的進一步深化,就像騰訊雲資料庫 TDSQL 推出的 Serverless 版本,還有亞馬遜 AWS Serverless 版本,都是以雲原生架構去做,然後越來越深入了。

InfoQ:您提到資料庫的進展主要體現在架構上。現在雲原生和分散式架構特別火,您認為雲原生資料庫有哪些特徵?

潘安群:雲原生這個概念已經火了很久了。為什麼強調雲原生呢?我覺得更多的是說它的極致彈性,我們過去使用的傳統型資料庫,它的彈性或者資源利用率是非常低的。雲原生資料庫,像騰訊 TDSQL 這樣的剛需產品,它在最開始做的時候,它的儲存層就可以做到無限地去擴充套件,在使用過程中它就像一臺一臺的單機資料庫,下面底層掛著一個無限大的一個磁碟一樣,這是第一個階段。

到了 2020 年的時候,騰訊推出了自己的類似 Serverless 的東西。也就是說,我們不僅僅在儲存層可以做到彈性,在計算資源、CPU、記憶體上同樣可以做到極致彈性。

我覺得雲原生核心的兩個特質,一個是資源的池化,另一個是在可擴充套件上做到了極致彈性。

InfoQ:您提到雲原生資料庫具有極致彈性的特質,那雲原生和分散式之間的關係是怎樣的?兩者是繫結在一起不可分割的嗎?

潘安群:嚴格意義上來說,兩者不存在必然的關係。但是雲原生的資料庫,一定是基於 x86、或者 Arm 這種體系架構下的晶片去構建的,但是這個資料庫它本身不一定是分散式的,它可能採用分散式的技術去構建起來的,而底層的基礎架構,可能不是分散式。

InfoQ:我之前看到過一篇文章說,價值 75 億美元的 GitHub 也沒有采用分散式資料庫,有人認為分散式資料概念僅在國內市場很火,但在全球並沒有特別火,您怎麼看待這個問題?

潘安群:GitHub 沒有使用分散式,並不是說它在全球不火,因為分散式資料庫的概念也不是中國發明的,不是中國特有的。這種分散式架構在很早之前就有了,像 Google Spanner 也採用的是分散式。那為什麼分散式資料庫在中國特別火?我覺得很重要的一點是,中國的市場確實是非常龐大的,像過年過節時騰訊微信支付、紅包,雙十一的電商交易體量都是非常大的,當然海外也有黑色星期五,但那種體量和中國社交軟體、電商平臺根本不在一個量級上,所以面對中國這麼龐大的市場,一定對分散式資料庫是有需求的。

但如果說不用分散式資料庫可不可以?當然也可以支援,但它在成本和效率方面遠不及分散式資料庫,所以隨著時間或者市場的發展,分散式必然的一個趨勢。

InfoQ:我之前瞭解到的一組資料,到 2022 年,所有資料庫中有 75% 將部署或遷移到雲平臺,只有 5% 曾考慮返回到本地。而 IDC 認為,到 2025 年,全球超過 50% 的資料庫將部署在公有云上;在中國市場,這個資料更為誇張,達到了 70% 以上。如果這個雲原生資料庫註定是下一個風口,傳統資料庫還有沒有喘息的空間?

潘安群:目前來講,在國內,線下部署的資料庫,還是有比較大的市場的,像金融機構和很多政務機構,會要求資料庫是部署線上下的,線下資料庫還是有一個長期需求在的,而這部分市場我覺得可能會是各個廠商持續去發力的一個點。

為什麼未來可能有 75%的資料庫部署或遷移到雲平臺上,我覺得還是我們之前提到的存量和增量市場的問題。也就是說,未來,像金融機構和政務機構,他們過去使用 Oracle 或者 IBM,而漸漸轉向國產資料庫,另一方面,一些不那麼敏感的、沒有受監管要求的資料會逐步上雲,雲上資料庫更多的是吃的新興市場的機會,而這個新興市場,未來一定會越來越大的。

雲上資料庫真的安全嗎?

一定程度上來說,採用雲資料庫比使用者自己去運營和維護的資料庫更加安全。

InfoQ:即使資料庫上雲是大勢所趨,但在雲資料庫真正落地時,客戶又有很多顧慮,比如雲上資料庫是否真的可靠,是否真的安全,那我們該如何消除客戶的這些顧慮呢?

潘安群:一定程度上來說,雲資料庫比使用者自己去運營維護的資料庫更加安全。為什麼這麼說?因為刪庫跑路的情況時有發生,一旦公司的關鍵資料丟失,那是非常致命的。

就雲資料庫而言,各個雲廠商都會提供非常完善的配套體系,比說資料備份、資料加密、資料許可權管理以及資料審計等,整個配套體系就是一套安全機制,所以我們可以認為雲資料庫的安全技術是走在行業的最前沿的。

一些中小企業客戶,他們在自建資料庫時,如果想要做到雲廠商這麼高級別的安全能力,成本是非常高的。而云廠商早已配備了完善的安全機制,客戶的資料能夠得到更安全的保障,也是一個非常重要的一個點。

InfoQ:雲資料庫這兩年特別火熱,業內也有許多開源資料庫,既然開源資料庫這麼香,為什麼很多企業還在自研資料庫?

潘安群:毋庸置疑,國外和國內的雲廠商都享受到了開源這個紅利了。那為什麼還有很多廠商要去做自研呢?原因在於開源嚴格意義上來並不是一種通用的東西。很多開源軟體並不能直接拿過來用,而要針對硬體去做優化。

當去做優化的時候,很難去做到極致的優化,因為它必須要考慮到相容性的問題,而云廠商則可以針對特定的場景去做定製優化,在這種情況下,雲廠商就必然要去走自研這條路。

因為雲廠商最關鍵的是成本,如果我可以為客戶提供價格更低的產品,那就會非常有競爭力。哪怕降低一個點或者兩個點的成本,那最終的收益可能是好幾個億,所以雲廠商都在追求極致的成本,在這種情況下就要針對很多底層硬體去做更深度的優化,這也是雲廠商要去做自研的非常重要的驅動力。

但為什麼雲廠商也會提供非常多的開源產品呢?因為很多客戶是喜歡使用開源產品的,以 MySQL 為例,無論是國內還是海外,MySQL 都是銷量最好的資料庫,因為它的受眾非常廣,而且它是一個比較標準的東西,可以在各個雲廠商之間隨意切換,不會受限於特定的產品架構。所以開源和自研是並不衝突的,而是相互去協助,去發展的。

技術要發展,突破點在哪裡?DB 與 AI 的結合目前還沒有特別成功的案例,我相信可能未來會有一些突破。

InfoQ:雲原生資料庫已經發展到一定階段了,您認為下一代雲原生資料庫發展的突破點是什麼?

潘安群:雲原生資料庫很重要的一點就是要做資源的池化。目前,儲存的池化、計算資源的池化都已經做到了。當然還要做很多更細緻的優化,包括像剛才前面提到的 CPU 的池化,計算資源的彈性等。

比如,當客戶業務負載達到高峰的時候,我們怎麼能夠快速地給它擴容,當業務負載降下去的時候,我們又該怎樣快速地縮容,我們預測的曲線跟它實際業務的曲線是否切合,這對雲資料庫來說是比較大的挑戰。

我覺得未來比較大的趨勢是整個記憶體會進一步池化,未來會分為三層,第一層是 CPU;第二層是記憶體;第三層是儲存,這三層都能夠做到獨立的擴縮容,在此基礎上,未來雲原生資料庫的體量一定會越來越大。

在雲資料庫體量增大的情況下,隨之而來的問題就是智慧化運營。雲廠商會非常關心成本,它肯定不能依靠人工去做維護和故障診斷等工作,那這時候就需要採用 AI 技術去幫助我們做智慧優化。

但就目前來說,AI 和資料庫的結合程度並不是太高。AI 和 DB 的結合,會有兩種情況,一種叫 DB for AI,一種是 AI for DB。DB for AI,是指我們用 DB 去解決 AI 場景中的一些問題,就像有人用 SQL 去解決很多 AI 的問題,把 AI 的演算法或者場景融入到 DB 裡面去,像使用 DB 一樣去使用 AI 平臺、機器學習平臺等。

第二種是 AI for DB,也就是我們通過 AI 的手段去提升 DB 產品的能力。目前 AI for DB 相對來說比較成熟,我們能夠通過 AI 技術去做智慧的引數調優或故障診斷,AI 是一種輔助手段。

此外,我們也會把 AI 的技術用到資料庫的關鍵路徑上面,通過 AI 去做查詢計劃的優化,包括代價評估等。就目前來看,我覺得在 AI for DB 在應用層面最成功還是通過 AI 去輔助 DB 來提升運營水平,這是比較成功的。但前面說的場景優化還面臨著很多問題,包括 AI 演算法上的穩定性的問題,以及 AI 演算法會不會導致 DB 的延遲等一些問題。

在這種情況下,AI 與 DB 的結合更多是偏向於實驗室的產品,或者說是處在一個摸索的階段,目前來講,應該沒有看到一個非常好的、非常成功的應用,更多廠商及學術界也在積極進行探索,我相信可能未來會有一些突破。

InfoQ:您覺得除了現有的場景外,未來雲資料庫還會迎來哪些新的應用場景?

潘安群:雲資料庫,實際上有非常多的應用場景,很多場景甚至我們是意料不到的,包括像 IoT 這樣的場景下,一定會產生大量的資料,那麼就會對資料庫架構帶來新的挑戰。我覺得未來雲資料庫一定會是一種多模態、多引擎的形式,但我們呈現到客戶面前的時候,是一個數據庫,並不是各種各樣的資料庫,我相信客戶也不想在各種各樣的資料庫間去做選擇。所以在底層,我們可以幫助他們做智慧的選擇,你的應用場景需要哪個資料庫,我們就能夠幫你把成本降到最低,這是未來所有云廠商要不斷去思考的問題。

InfoQ:過去一年,我觀察到了一個就是比較明顯的現象——資料庫作為三大基礎軟體之一,它吸引了越來越多的資本進入,您覺得資本進來以後,會對資料庫行業產生怎樣的影響?

潘安群:我覺得資本進入對於資料庫行業來說是個利好。資料庫發展了有半個多世紀了,如果沒有云廠商的發展,沒有開源,那資料庫的圈子就會越來越小,沒有太多新的東西了,它就沒法吸引更多的人才,沒有人才,想做更多的事情也就不可能了。

得益於開源的深入,讓我們這群做資料庫的人又重新回到了聚光燈下。另一方面,雲端計算的發展和雲廠商的迅猛崛起為資料庫的發展提供了新的機會,市場和需求都在驅動著資料庫的變革,這是一個很正常的現象,也是所有資料庫從業者非常願意看到景象。

2022 年,資料庫面臨的挑戰及趨勢展望

如何構建完整的生態,包括人才的生態、服務的生態、產品的生態等,是國內資料庫廠商將會持續面臨的一個挑戰。

InfoQ:2021 年已經過去了,對於資料庫行業從業者來說,2022 年資料庫將面臨的最大的挑戰是什麼?

潘安群:就整個國產資料庫來說,目前雲上資料庫已經可以為網際網路上的應用提供比較好的支援了。但就像我們前面提到的,像 Oracle、IBM 這種老牌資料庫廠商他們線上下仍然佔據著大片市場。他們耕耘了這麼多年,其技術能力和產品的整個生態服務體系都是非常完善的,現在我們國內資料庫廠商也在持續地、鉚足了勁兒地去衝擊這塊市場,去爭奪這塊市場。以騰訊雲資料庫為例,它在很多標杆的專案裡已經做得很不錯了,在一些大行、股份制銀行都有核心應用落地的案例。

接下來的一個挑戰就是如何把已經落地的產品做到大規模、批量化複製的階段,我們的整個生態怎麼能夠做到像 Oracle 那樣完善,能讓越來越多的人幫我們銷售我們的產品,或者幫助我們去服務我們的產品等等。如何構建完整的生態,包括人才的生態、服務的生態、產品的生態等,我相信是國內資料庫廠商將會持續面臨的一個挑戰。

InfoQ:您也提到了,我們國內的各家雲廠商都在緊盯著全球這塊市場,目前 Oracle 在全球市場依然佔據著很大的比重,雖然我們國產的資料庫相比 Oracle 可能是質優價廉,但 Oracle 是一個老品牌,受信賴程度更高,業務人員即便使用 Oracle 資料庫出現了問題,也不會受到太多指責。但如果選擇了國產資料庫,他們就會有顧慮(一旦出現問題風險誰來承擔),您覺得應該怎樣解決這樣的問題?

潘安群:這就考驗我們如何給到客戶信心,如何讓我們與客戶建立起信任。我們跟很多客戶去交流的時候,客戶會告訴我們,以前他們選擇 Oracle 是不需要承擔太多⻛險的,因為大家都知道 Oracle 是全世界最好的資料庫產品,如果它都有問題,那其他產品可能也好不到哪裡去,這個是過去的一個觀點。但現在來講,無論從大環境,還是從 IT 發展趨勢,以及國產資料庫產品能力,還有實際成功案例來看,很多企業一定程度上都會去選擇國產的資料庫, 這是大趨勢。

我覺得,現階段整個國產資料庫跟 Oracle 這種國際巨頭最大的差距就是前面提到的生態的問題。 比如我們有客戶,經常會問這個點,我選擇 Oracle 的時候,懂 Oracle 的人非常多,可能在國內 的某個網站上面去發一個帖子,說明遇到了什麼樣的問題,然後就會有很多專家去幫他解決,或 者是說可以付費請幾個專家過來來幫他解決。但如果選擇了我們國產的資料庫,會不會出現只有 我們自己原廠的人懂這個技術,其他人不懂的情況呢。其實客戶會有這樣的擔心,也是整個生態 不夠完善的問題。就像騰訊雲,在去年一整年都在大力發展生態,包括服務商的生態、人才培養 的生態等,2022 年將有兩萬人左右會通過我們的初級認證,通過高階認證的人會稍微少一點, 至少要到幾千人。我相信各個廠商也都在做這樣的一些事情,比如培養一些懂我們國產資料庫技術的人才,把這個生態體系建立起來,這樣客戶才能夠更加放心地去使用我們的產品,如果只是你自己懂你們的技術,所有的問題都得由你自己原廠的人來解決,嚴格意義上來說,客戶在使用中會有一些心理負擔。

InfoQ:如果中小企業想考慮資料庫上雲,他們應該如何做選擇?您有什麼建議?

潘安群:就中小企業而言,我認為如果他們有監管方面的要求,上雲是最好的一個選擇。在選擇雲資料庫時,比較常見的是先去做很多測試,比如功能性的測試、效能上的測試等。

更重要的是,你所選擇的產品給到你的體驗是不是透明的,也就是說,你在使用這個資料庫產品或服務時,你是否能夠看到裡面很多的執行狀態,如果出現問題是否能及時發現,雖然這個服務不需要你維護,但是你能夠全程地、時時刻刻去看到裡面執行的狀態,瞭解到它的穩定性是怎樣的,這是首先要去考慮的因素。

InfoQ:作為在資料庫領域從業多年的老兵,您未來比較關注的資料庫領域的趨勢和技術更新有哪些?

從資料庫整個大的架構來看,我相信在雲資料庫裡面,雲原生這個路線將會持續走下去。還有很重要的一點就是,新硬體的誕生將會為現有的資料庫架構體系帶來顛覆性的場景,比如我們現在談起的非易失性記憶體(NVM)這種儲存介質,或者雲的崛起會不會衍生出新的資料庫形態,這可能是我們要持續去考慮的點。

第二,在 AI 的體系裡,怎麼去提升資料庫的能力,也是非常值得關注的點。我相信一些新的應用場景會催生出一些新的資料庫形態,比如前面提到的 IoT 場景下催生出來的時序資料庫等,一些新的應用場景出現,也會帶來一些新的機會,這些都是需要我們去重點關注的。

嘉賓簡介:

潘安群,騰訊雲資料庫技術負責人,2007 年研究生畢業於華中科技大學,同年加入騰訊,早期主要作為核心技術負責人開展企業級分散式資料庫 TDSQL 自主研發,擁有超過 14 年分散式計算和分散式資料庫研發經驗,研發成果多次入選國際頂會 VLDB 等,歷年多次代表騰訊出席 CNCC、VLDB、SIGMOD 等重要大會。