友快網

導航選單

雲時代,我們需要怎樣的資料庫?

作者| 潘安群

1

引言

資料庫技術發展已達半個世紀之久,資料庫圖靈獎得主 Michael Stonebraker 曾在 Readings in Database Systems 中將資料庫模型技術分為 9 個不同的時代與型別,而云時代開始以後,我們可以從全新的視角審視資料庫等基礎技術的過去和未來。

基於雲計算,包括資料庫在內的 IT 基礎技術發生從技術形態到線上線下整個市場結合的大幅變化,資料庫技術呈現從傳統集中式到雲時代分散式遷移替換的趨勢,這也給國產資料庫賦予機遇與挑戰。

在 2020 年 11 月,Gartner 釋出了 2020 年度的資料庫廠商評估報告,中國資料庫廠商佔據三席,標誌著國內資料庫進入全新發展階段。

同時,Gartner 預測,到 2022 年,世界上 3/4 的資料庫都會跑在雲上,而我們認為,雲資料庫的發展,目前正在經歷從第一階段“資料庫上雲,即從資料庫到雲資料庫”,到第二階段“從雲資料庫到雲原生資料庫”的變革。

歸根結底,雲資料庫做了什麼得到了業內的認可?未來資料庫發展趨勢是什麼?我們可以如何在新機遇下的雲融合時代把握技術創新的脈搏?在當前國產資料庫也成為一個熱門話題之際,我們談一談我們的理解和思考,與大家共勉。

2

雲時代的 IT 基礎技術形態演變

隨著雲計算的發展,整個 IT 基礎技術翻天覆地的變化體現在幾個方面:

IT 設施部署,從過去的零散化走向今天的集中化、規模化。

過去,每一個企業自建各自的資料中心等 IT 基礎設施,包括伺服器、網路到作業系統、資料庫等,形成企業市場上零散化的 IT 設施模式。而今天基於雲計算服務,企業 IT 設施呈現集中化、規模化效應,對效率、效能、成本的要求提升。

IT 服務交付,從過去的軟體交付模式走向服務交付模式。

過去購買商業化軟體,或者是使用開源軟體產品,基本是透過商業化或開源的方式進行分發,而現在完全變成一個個服務的形式進行交付。這帶來的變化是,使用者不需要再盤算該購買幾臺伺服器,而是在具有資料庫使用需求時,直接雲上使用即可。

開發方式,將呈現從過去業務進行非常底層的開發以及呼叫底層 API 等操作的模式,轉向 SaaS 化、Severless 模式的服務。

在雲上,開發者可以使用各種各樣的 SaaS 服務。無論從效率、基礎技術能力等方面來說,這都是一個巨大的變化。

而資料形式及應用場景領域而言,事實上過去的資料形式或應用場景相對單一,以傳統資料庫為例,場景主要集中在了比如金融、運營商、政務等傳統行業領域。

隨著網際網路、移動網際網路、產業網際網路的發展,各個行業也正逐步加速其電子化、資訊化發展趨勢,應用服務形式呈多樣化發展,使得當前行業的資料形式及應用場景也越來越多樣化,並對底層資料庫能力提出更多的要求和挑戰。

過去,行業場景中更多以結構化的資料為主,關係型資料庫可以支撐極大部分場景需求,現在我們可以看到湧現出了許多如 NoSQL、Graph 圖資料庫等各種型別的資料庫,NoSQL 下屬同時還可以細分 KV 型、文件型等多種類別,而且整體資料庫型別還有持續增加的趨勢。這是非常合理的現象。也就是說,對於未來資料庫來說,其自身發展也會呈現多樣化,而且是融合、創新的趨勢。我們知道,按照傳統經驗來說,如果一個技術產品是單一的形態,那麼追求的是儘量做到通用化,然而,在當前多樣化需求的趨勢下,技術應用層面需要進行各種權衡和取捨。

因此可以說,這是雲時代的發展變化,對資料庫帶來的新的挑戰和要求。在當前雲資料庫成為大勢所趨的同時,我們認為,國產雲資料庫要發展好,需要持續在基礎能力、成本效率、產品化、未來技術融合等各個層面進行探索突破。

3

雲資料庫技術演進的挑戰

結合雲計算的特點,國產雲資料庫發展面臨著需要持續探索可用性與一致性、高併發效能、彈性可擴充套件等基礎能力突破,同時面向雲時代的多樣化趨勢打造新一代分散式資料庫產品的挑戰和要求。

第一,可用性與一致性。

作為資料庫,高可用性、資料一致性是最基礎的挑戰。高可用性,要求達到 99。999% 以上;資料強一致性,意味著資料不出錯,資料庫高度可靠。

雲計算時代,技術設施的升級換代對技術實現方式帶來變革。過去,比如金融行業,系統基於穩定性較高的傳統集中式大型機或小型機來保障系統的可用性與一致性。然而,傳統集中式結構存在明顯的技術邊界,包括效能和吞吐量的邊界,今天它們已然面臨較大的吞吐和效能瓶頸,無法滿足雲時代的產業需求。

自然地,當前產業趨勢是向分散式架構轉型升級,轉向基於 x86 等的分散式、開放式平臺。

傳統架構系統依賴於大型機或小型機在硬體層面進行的大量的冗餘設計,在硬體層面實現可用性與一致性保障。而相對來說,基於 x86 機器部署的新一代分散式架構系統,則在如何實現效能、無限水平擴充套件的基礎上保證資料一致以及系統高可用提出新的挑戰要求。

第二,效能成本。

雲計算時代,如果實現了規模化以後,還不能實現成本降低的話,是不可接受的。雲計算要幫助提升整個社會資源利用率,效能成本需要控制到最低。

對於騰訊雲的服務來說,我們需要考慮的是如何能夠保證客戶以最便宜的價格買到最高階的服務——比如花最少的錢買到最大的磁碟空間、以及最好的 TPS 等產品表現。而在這個過程中,最核心的就是資源利用率。

舉個例子,雲計算服務商如果把資源利用率提升 20%,對客戶、服務商本身而言將能極大地降低一部分成本。

第三,雲原生意味著一定是彈性伸縮的。

彈性伸縮,也就是可以根據使用者的實際需求進行資源分配與使用,

而不再是過去透過預採購或預分配的方式。過去,客戶大部分都是先預估,然後採購,所以資源利用率一直被詬病;現在則不需要使用者再預估自己未來可能會用到多少資源,而是可以根據實時的使用需求實現彈性伸縮。也因為這樣,透過提高資源利用率,雲資料庫才可以實現成本上的優勢。但是,極致彈性伸縮對資料庫在更高程度的 SQL 支援、分散式事務能力方面,提出了更高的要求。

第四,雲資料庫產品化服務化程度。

國內資料庫發展也經歷多個階段,但正是雲計算、網際網路的時代興起,國內諸多雲廠商得以抓住機會,基於自身業務場景特點和需求,發展新一代資料庫等基礎軟體技術。網際網路廠商基於內部業務場景發展自己的技術體系,這是優勢的一面,而在 to B 開放的過程中,同時也面臨產品標準化、通用性、使用體驗等挑戰。面向行業客戶提供技術產品,其要求比支撐內部使用高得多。對於傳統企業客戶而言,騰訊雲希望提供給到客戶的是一個完整的產品,而不是一個半成品。因此,產品化程度,是騰訊一直持續強調的能力。

第五,海量場景驗證。

最後關鍵的一點是,對於雲資料庫而言,包括穩定性、特性需求等基礎能力的發展,核心條件是需要有足夠的應用場景進行打磨。資料庫系統的研發、完善是一個非常複雜的過程,如何讓資料庫得到實踐、得到應用?走到今天,我們認為,持續的、海量的場景打磨,是產品發展的關鍵條件。

這些挑戰是雲資料庫發展過程中的必經之路,也是我們在雲計算時代創造出新一代分散式資料庫產品的機遇。

4

雲資料庫未來關鍵趨勢

基於這些挑戰以及雲計算時代賦予的機會,我們認為未來雲資料庫發展將包括幾大趨勢要求:

彈性伸縮:解決成本核心問題——資源利用率

前面提到,成本與效能是核心的要素。這裡引申出來一個雲計算時代的差異,那就是我們需要實現對 CPU、記憶體和磁碟等基礎設施資源的靈活排程。

雲資料庫時代我們將透過對極致的彈性伸縮架構探索,來綜合解決效能、效率和成本問題。針對不同的場景側重,雲原生分散式資料庫可分為兩種架構:一種是 Shared Nothing,一種是 Shared Storage,兩者都可以透過實現計算與儲存分離架構來整體獲得更優秀的彈性伸縮能力,克服傳統架構下的儲存量受限、擴充套件難、主從延遲高等缺點,同時也能夠幫助我們將成本控制得更低,充分釋放領先技術的成本效益。

而計算與儲存全 Serverless 架構的資料庫服務也是未來可重點關注的方向,它在可自動無感擴縮容的基礎上,同時實現可按實際使用計費,不用不付費,提升雲資料庫效用。

多模多引擎趨勢下的資料庫底層與服務超融合

新基建、產業網際網路快速發展,各行各業數字化程序加速,資料形式越來越多樣化,越來越海量,如何能最高效地解決資料庫在效能、成本、服務等方面問題,超融合是必然趨勢。

當下我們處於各行各業都在推進電子化、資訊化建設和數字化轉型的趨勢浪潮之下,行業不斷湧現出大量的新興場景。資料庫作為支撐各類 IT 系統架構的基礎軟體技術,其整個技術形態也隨之出現各類新的應用實現,包括大量的 NoSQL 實踐,以及儲存領域有傳統的 B+ Tree、現在的 LSM Tree,和行存、列存等架構形態產品;而根據 workload 型別區分的話,則湧現出包括 OLTP、OLAP,或者兩者混合形成的 HTAP 型資料庫等。

而多種多樣的引擎產品,在大多數情況下不會獨立存在來服務於一個企業或系統。One size fits none。從技術角度看,極致的效能成本與通用性有著天然的矛盾,因此,在多樣化場景下,一定會是多引擎共存,充分發揮各種引擎的特點與優勢,才能實現極致與通用的兼得。

但是不是作為雲資料庫服務廠商,我們把這些各類引擎產品都暴露給客戶、開發者自行選擇呢?從產品服務體驗的角度看,必然不是。多模態技術引擎的現狀必然對開發者選型帶來選型、開發應用上的困難——即如何能夠在保證適應不同的場景下,同時獲得足夠高的效能表現,這也是當前資料庫發展面臨的一個困境。為了解決這個問題,未來我們希望是不需要使用者來進行這些複雜的選擇,而是系統基於 AI 智慧排程、serverless 等解決方案,來徹底實現多引擎的統一標準化服務。從底層的角度看,未來開發者無需感知具體的產品選型,而比如在做資料分析的時候,系統能夠自動幫助排程效能最好、事務交易一致性得到保障的方案。

在此基礎上,未來雲資料庫服務的趨勢還是交付方式的融合,包括軟硬體一體化、私有云與公有云平臺融合等多種產品和服務交付方案,能夠讓客戶在敏感業務和運營成本之間實現更加精細化管理。

智慧化:AI+DB

智慧化技術等底層技術生態融合變革,實現資料庫自治與智慧管理也是未來資料庫趨勢之一。過去,對於一個企業,也許幾個 DBA 來管理幾十套例項就足夠了,但比如對騰訊來說,數十萬的資料庫例項,難以透過配置人力來維持運營,因此倒逼我們必須要透過工具或平臺來解決運營效率的問題。此外,當前分散式微服務改造的趨勢下,未來企業 IT 運營也將具有越來越強烈的自治需求。智慧化技術與資料庫底層的融合,能實現對資料庫進行全生命週期智慧管理。

加速釋放新硬體紅利

過去一個新硬體的推廣週期很長,很多傳統企業在採購新硬體方面相對非常保守。而對於雲廠商來說,相對有條件逐步率先探索新硬體的應用,比如先在非關鍵性應用,同時也具備海量的場景驗證,來實現穩步規模化的推廣。這個角度來說,基於雲計算服務,雲原生資料庫相對更加容易探索、釋放到新硬體帶來的紅利。

當前我們也出於新硬體創新層出不窮的時代,包括 SSD、NVM、RDMA+SPDK、千核伺服器、異構處理器等,基於雲資料庫服務,廣大的客戶、普通開發者也能夠更快速地享受到新硬體帶來的加持。

因此,融合、自治、效用是未來企業級分散式資料庫基本特點。騰訊雲資料庫將從實踐層面對以上趨勢進行落地推進,來滿足各行各業客戶未來對資料庫的多樣性需求。

作者介紹:

潘安群,騰訊雲資料庫技術負責人、中國計算機學會 CCF 區塊鏈專委委員。潘安群自加入騰訊起,主要作為核心技術負責人開展騰訊雲分散式資料庫、區塊鏈等技術研發,至今帶領團隊研發出騰訊雲資料庫 TDSQL、企業級區塊鏈平臺 TBaaS 等,擁有超過 13 年分散式計算和分散式資料庫研發經驗,研發成果多次入選國際頂會 VLDB 等。他帶領團隊打造的安全可控分散式資料庫 TDSQL,是業內首個應用於網際網路銀行核心交易系統、首個進入銀行傳統核心系統、首個助力傳統大型銀行實現銀行業首例“大型機”下移分散式平臺的國產分散式資料庫。

股民福利來了!十大金股送給你,帶你掘金“黃金坑”!點選檢視>>

開啟App看更多精彩內容

上一篇:板繪色彩怎麼掌握?板繪色彩三要素解析!
下一篇:穩了,奧運選拔規則幾乎是為劉詩雯量身定製,有望東京成就大滿貫