云原生數(shù)據(jù)庫大紅大紫背后,透漏出哪些關(guān)鍵點?

李代麗
云原生數(shù)據(jù)庫最典型特征是,具備很強的可擴展性,可以根據(jù)工作負載靈活調(diào)動資源,隨時擴縮容。所以,用戶不用擔心因流量激增而導致存儲資源不足的問題。

2345截圖20210806091512.png

這兩年,云原生數(shù)據(jù)庫風起云涌,不管是老牌的數(shù)據(jù)庫廠商,還是大型云計算企業(yè)都在向這一趨勢靠攏。問題是,什么是云原生數(shù)據(jù)庫?把數(shù)據(jù)庫搬上云就是云原生嗎?云原生數(shù)據(jù)庫和傳統(tǒng)數(shù)據(jù)庫相比有哪些區(qū)別?相信,很多人都是云里霧里!

云就緒不等于云原生

所謂“云原生”是指生在云上,長在云上,在云上用。這樣一來,是不是只有云計算企業(yè)提供的數(shù)據(jù)庫才是云原生數(shù)據(jù)庫?顯然,這一認知不合乎客觀事務(wù)邏輯!傳統(tǒng)數(shù)據(jù)庫廠商雖然沒有自己的云,但如果它把數(shù)據(jù)庫架構(gòu)在其他云上,能支持分布式系統(tǒng),這依然是云原生數(shù)據(jù)庫。所以,判斷一款數(shù)據(jù)庫產(chǎn)品是不是云原生數(shù)據(jù)庫,有兩條標準。一條是,是否充分利用了云技術(shù);另一條是,是否采用的是分布式系統(tǒng)。

當然,雖然很多數(shù)據(jù)庫都能在云中運行,但從云就緒到云原生,區(qū)別很大。云原生,是指所有的服務(wù)、軟件、API或數(shù)據(jù)庫都能在云上運行和部署,同時受益于云原生系統(tǒng)提供的其他能力。云就緒是以架構(gòu)優(yōu)化為基礎(chǔ),通過融合、集成等策略,對傳統(tǒng)IT架構(gòu)進行現(xiàn)代化演進。如果說,企業(yè)云原生之路要經(jīng)歷云就緒、云原生和無服務(wù)器三個階段。那么,云就緒就是云原生的第一個階段。所以,云就緒不等于云原生。

Kubernetes是云原生數(shù)據(jù)庫的“康莊大道”

還有,我們在談?wù)撛圃鷶?shù)據(jù)庫的時候,總會提到Kubernetes。那么,云原生數(shù)據(jù)庫和Kubernetes是怎樣一種關(guān)系呢?我們到底要不要把數(shù)據(jù)庫運行在Kubernetes環(huán)境中?

其實,如果你理解了云原生和容器之間的關(guān)系,就能判斷云上的數(shù)據(jù)庫到底要不要運行在Kubernetes環(huán)境上。云原生架構(gòu)的最典型特征就是全面容器化,而Kubernetes是實現(xiàn)容器規(guī)?;l(fā)展的康莊大道。所以,云原生數(shù)據(jù)庫也一樣,需要在Kubernetes環(huán)境中運行。但如何存儲、遷移數(shù)據(jù),保持數(shù)據(jù)的現(xiàn)有狀態(tài),成為一大挑戰(zhàn)。

最開始,Kubernetes是為無狀態(tài)工作負載設(shè)計,但數(shù)據(jù)庫的需求剛好相反,需要數(shù)據(jù)的持久化存儲能力。之后,Kubernetes進行了升級,通過有狀態(tài)服務(wù)StatefulSets和持久化存儲Persistent Volumes的引入,輕松支持有狀態(tài)的工作負載。所以,云原生數(shù)據(jù)庫可以在Kubernetes環(huán)境上運行,并能獲取更靈活、可擴展的數(shù)據(jù)存儲和查詢服務(wù)。

云原生數(shù)據(jù)庫利用新的技術(shù)改進,將數(shù)據(jù)庫帶到云環(huán)境中,并體驗到Kubernetes帶來的彈性和可擴展性等所有優(yōu)勢。

云原生數(shù)據(jù)庫是企業(yè)IT架構(gòu)不斷演進的結(jié)果

隨著微服務(wù)和容器化趨勢的日益普及,需要一個與應用趨勢相同的數(shù)據(jù)庫,與之相匹配。而MySQL和MongoDB等傳統(tǒng)數(shù)據(jù)庫在可擴展性、安全性和可訪問性等方面存在諸多限制。盡管,它們可以與云集成,但在云中使用這些數(shù)據(jù)庫會受到各種應用上的限制,不能充分體驗到云帶來的優(yōu)勢。

以下是筆者總結(jié)的云原生數(shù)據(jù)庫的優(yōu)勢:

1、可擴展性強

云原生數(shù)據(jù)庫最典型特征是,具備很強的可擴展性,可以根據(jù)工作負載靈活調(diào)動資源,隨時擴縮容。所以,用戶不用擔心因流量激增而導致存儲資源不足的問題。按需付費,根據(jù)工作負載需求擴大和縮小資源應用,這點非常重要,也是云原生數(shù)據(jù)庫帶來的最重要優(yōu)勢之一。同時,云原生數(shù)據(jù)庫還要確保數(shù)據(jù)安全,不能因系統(tǒng)故障而出現(xiàn)數(shù)據(jù)丟失的現(xiàn)象。一旦意外宕機,要及時把數(shù)據(jù)遷移到新的Pod或者節(jié)點上,并能自動修復數(shù)據(jù)。

2、全面自動化

在Kubernetes環(huán)境中運行數(shù)據(jù)庫,非常易于使用,能讓數(shù)據(jù)庫從代碼層面實現(xiàn)自動化部署和管理。

3、快速部署

云原生數(shù)據(jù)庫與傳統(tǒng)數(shù)據(jù)庫部署方式不同,其云原生自帶的分布式數(shù)據(jù)庫技術(shù),使得數(shù)據(jù)庫部署更快,并且更容易訪問。

4、節(jié)約成本

云原生數(shù)據(jù)庫能夠降低用戶的前期投入成本,借助云的彈性擴展能力,讓用戶按需按量使用資源,優(yōu)化資源分配。

5、易于管理

由于云原生數(shù)據(jù)庫擁有自動化和可擴展性等特性,所以可以輕松管理數(shù)據(jù)庫,調(diào)整相關(guān)資源。

THEEND

最新評論(評論僅代表用戶觀點)

更多
暫無評論