如何看待Serverless資料庫之爭?

danny_2018發表於2022-03-31

這幾年,Serverless資料庫大火,被稱為是下一代資料庫的最新演進方向。問題是,什麼是Serverless資料庫?Serverless資料庫給使用者帶來了哪些價值?當前,各家都在推的Serverless資料庫,有哪些區同點?本文將逐一進行分析!

Serverless資料庫發展之初

簡單理解,Serverless資料庫是雲原生資料庫發展的必然結果!

在雲原生早期階段,也就是雲資料庫階段,只是簡單地把資料庫從本地遷移到雲端,執行在託管的雲基礎設上,在架構上並沒有做太多改變,導致資料庫的彈性以及資源的利用率受到限制。

之後,第一代雲原生資料庫誕生,一些雲端計算巨頭企業開始對資料庫架構進行改造,實現了計算和儲存的分離,這時才擁有了真正的雲架構,但CPU和記憶體依然是強繫結狀態,無法實現記憶體、計算和儲存的解耦,導致企業無法按需滿足計算需求。比如:計算和快取的比例,必須是1核CPU對應2GB記憶體。但對於分析型記憶體資料庫場景來說,他需要大量記憶體,用不上那麼多的CPU;而對於事務型使用者來說,他的CPU需求往往要高於記憶體。同時,還涉及波峰波谷期的資源動態調整問題。

所以,第一代雲原生資料庫雖然改變了資料庫的架構問題,但並沒有實現計算和儲存資源的解耦,導致雲原生的價格高於自建資料庫,自然也無法快速佔領市場。

大概在2015年左右,Serverless誕生,雲原生資料庫才真正成為“當紅炸子雞”。Serverless技術可以讓企業只關心業務程式碼的功能實現,脫離伺服器管理的複雜環境。當流量洪峰來臨時,可以自動調配伺服器資源支援;流量進入低谷時,則可以自動釋放掉資源,節約伺服器成本。

按需付費,動態調整資源

值得一提的是,Serverless無伺服器計算仍然需要伺服器,只不過是由雲服務商動態地管理計算資源的分佈。雲端計算供應商將計算資源變成一個池子,使用者無需建立例項,就能快速完成部署。

具體到資料庫的層面,使用者只要使用了基於Serverless特徵的資料庫,就可以基於函式執行所消耗的記憶體和執行時間,按使用量計費,極大地降低了資料庫的使用成本。

另外,Serverless資料庫除了省錢,還更具彈性擴充套件能力,可以讓計算資源的配置更高效和合理。使用者選用了Serverless資料庫,通常可以被理解為是按需付費的一種模式,不需要搭建開發環境,更不需要配備專業的基礎設施團隊去做運維。

當使用者發起無伺服器服務請求時,雲提供商會分配一個例項(虛擬機器)或 pod(基於一組邏輯的容器,通常由 Kubernetes 管理)來處理來自其資源池的動態。當無伺服器程式碼退出時,分配的資源將返回到池中。通常情況下,使用者根據 CPU 容量、RAM 分配和時間為使用的資源付費。

不同產品之爭

最早的無伺服器計算服務是亞馬遜雲科技的 AWS Lambda,是功能即服務或 FaaS 的典型應用,之後Microsoft Azure 、 Google Cloud 以及國內的阿里雲、騰訊雲、華為雲都進行了與 FaaS 相關的產品跟進。所以,在Serverless資料庫領域的探索,亞馬遜雲科技也走在行業前列,產品型別也更為豐富。

秉持專庫專用理念,亞馬遜雲科技推出了符合不同資料型別需求的資料庫應用。目前,亞馬遜雲科技已釋出的產品包括:Amazon Aurora Serverless關係型資料庫,Amazon DynamoDB鍵/值資料庫,Amazon Timestream時序資料庫,Amazon Keyspaces寬列資料庫,Amazon QLDB分類賬資料庫等,都屬於Serverless資料庫產品矩陣。也就是說,不管是鍵值型資料、時序型資料,還是文件類資料的儲存,都可以通過Serverless的形式對外開放,客戶無需管理或配置伺服器,就可以按量進行縮放,真正為價值付費。

不久前,亞馬遜雲科技還發布了新一代Serverless資料庫版本——Amazon Aurora Serverless V2,相比於2018年釋出的Amazon Aurora Serverless,新版產品能夠實現瞬間擴充套件,真正將擴充套件能力發揮到極致。

有意思的是,國內率先推出Serverless資料庫的是騰訊雲。2020年4月,騰訊雲釋出首個Serverless資料庫新品——PostgreSQL for Serverless,該資料庫能夠最快1秒完成部署,成本降低70%。使用者在購買之後只需要通過騰訊雲相關元件一鍵建立資料庫例項,最快1秒鐘就可以完成部署。另外,PostgreSQL for Serverless在可用性和安全性等方面具有突出優勢,支援“一主一備”,當主例項出現意外不可用時,能自動啟動備份例項,業務連線也將同步轉移至備用例項,有效避免了各種風險。

2021年,阿里雲也推出了Serverless資料庫,那就是PolarDB Serverless,最大創新之處在於:在業內首次實現了記憶體與計算/儲存的解耦,記憶體進一步池化,形成三層池化,使得彈效能力呈指數級上升。最大的賣點是,基於記憶體池化,大幅度降低了成本,更貼合使用者的各種應用場景。

阿里雲給出的官方資料是,PolarDB Serverless構建了一個全新的資料庫形態,即DCaaDB(Datacenter as a Database),也就是整個IDC變成了一個多租戶的大資料庫,其全部的CPU,記憶體,儲存構成三個獨立的資源池。任何一個使用者(租戶)都可能任意的彈性擴充套件任何一種資源到任何一個規格,使用者為其SQL動態消耗的CPU、記憶體和儲存買單,不需要預置任何的規格。

所以,對比來看,Serverless資料庫的功能都差不多,最終目標都是為了降低使用者使用資料庫的成本。只不過,不同產品部署環境不同,產品的成熟度也不一樣。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31547898/viewspace-2885266/,如需轉載,請註明出處,否則將追究法律責任。

相關文章