好書推薦《雲原生數據庫》李飛飛:2022年Serverless是分水嶺

《雲原生數據庫:原理與實踐》李飛飛博士著。在理解雲計算趨勢下的數據庫形態及技術趨勢之前,需要先探討雲計算和數據庫的本質。

雲計算在本質上是將各類信息技術基礎資源“池化”,將客戶所需的計算、通信、存儲資源納入統一的資源池進行管理。

用戶在實際使用時,對於大型信息系統或信息基礎設施的構建,用戶無須自建機房、購買硬件設施、搭建基礎網絡、安裝系統和軟件等,極大地減少了前期的IT設施投入成本。

同時,藉助雲計算資源的虛擬化和池化技術,用戶擁有了基礎設施彈性能力,能快速應對業務流量的變化。對於雲服務提供商而言,規模化的資源供應、使用、運維和管理,也極大地提升了雲服務提供商的技術、供應鏈管理等能力,從而形成了規模效應,大大提升了整體的資源利用率。

而對於數據庫來說,可以從數據庫的用戶入手分析。用戶使用數據庫的目的,是希望藉助數據庫的計算和存儲能力,完成數據的生產、存儲、處理和消費的全鏈路過程。

因此,從能力上來說,數據庫系統必須要能爲客戶的數據生產、存儲、處理和消費全鏈路提供功能性和非功能性需求支撐。

傳統的數據庫系統軟件是運行於馮•諾伊曼體系的硬件系統之上的。

馮•諾伊曼體系的基本原理是“存儲程序和程序控制”:“存儲程序”是指計算機運行的代碼和數據都要有特定的地方進行保存;“程序控制”是指計算機按一定的邏輯順序存取指令並有效執行。對應到數據庫系統軟件之上,數據庫管理系統的本質就是用戶希望藉助數據庫管理系統提供的“計算+存儲”能力,通過計算節點的計算能力對存儲中的數據進行用戶指定的分析和計算來獲得計算結果,最終實現數據的應用。

從數據庫系統的本質來看,計算和存儲以及各組件間的通信能力是數據庫系統必須具備的。

因此,在雲計算時代下,如何藉助雲計算提供的強大的計算、存儲和通信能力,實現數據庫系統在各個層面的高可用、高性能、彈性和高安全性是目前業界研究的重點。不同的架構與雲計算架構的契合度是不同的。

對於單機版數據庫,可以安裝在一臺雲廠商提供的雲服務器上,其計算和存儲能力受限於雲服務本身計算和存儲能力的上限,而當前雲服務器主流技術是虛擬化技術,因此可以認爲單機版數據庫如果部署在雲主機上,符合如下性能限制公式:

數據庫 < 雲主機(容器)< 宿主機(物理機器)

因此,傳統的單機版數據庫管理系統部署在雲主機上,其實只是把雲主機當成普通服務器在用,並不能充分地利用雲計算的優勢。比單機版更進一步的是分佈式的數據庫管理系統,後者可以根據計算複雜度和存儲規模,增加適當的節點,滿足計算和存儲要求,因此在一定程度上滿足了可擴展性的要求。

但是對於集羣中的單個節點,其處理瓶頸依然滿足上述公式。儘管大多數數據庫可以在雲中運行,但想要充分體現和利用雲平臺的優勢還要取決於數據庫的體系架構。從長遠來看,在雲計算平臺上設計、構建和運行數據庫系統能夠獲得更大的價值,而設計出符合雲計算的資源彈性管理特徵的數據庫系統架構纔是雲原生數據庫的本質。

2022年11月3日雲棲大會,李飛飛博士告訴“親愛的數據”:

從資源到服務,或者從資源到能力視角的轉換。這個話怎麼理解呢,舉一個具體例子,以前購買數據庫,不管在哪個雲廠商都是4/8G,8/16G,本質上都是資源形態來購買數據庫實例,包年包月有價格。未來我們認爲serverless以後,尤其我們數據庫做到serverless化,比如和小邪團隊合作,我們RDS all on ECS以後,才能實現無縫的彈性serverless能力。結合ECS,結合技術產品的FaaS,我們提供端到端的應用,整個鏈路的serverless化能力。

前兩年大家喊serverless,我覺得大部分還是停留在概念,真正大規模商業化,至少我看到的,尤其在覈心繫統層面上,像數據庫這種,今年是一個分水嶺,阿里雲數據庫在今年藉着雲棲大會,我們正式重磅發佈商業化serverless版本,我覺得這是一個分水嶺。

我對接下來serverless商業化前景還是非常看好的,尤其在今天降本增效大環境下,我覺得這個東西還是會產生非常大的影響。(完)

親愛的數據,出品