雲原生資料庫大紅大紫背後,透漏出哪些關鍵點?

danny_2018發表於2021-09-17

 這兩年,雲原生資料庫風起雲湧,不管是老牌的資料庫廠商,還是大型雲端計算企業都在向這一趨勢靠攏。問題是,什麼是雲原生資料庫?把資料庫搬上雲就是雲原生嗎?雲原生資料庫和傳統資料庫相比有哪些區別?相信,很多人都是雲裡霧裡!

   雲就緒不等於雲原生

  所謂“雲原生”是指生在雲上,長在雲上,在雲上用。這樣一來,是不是隻有云計算企業提供的資料庫才是雲原生資料庫?顯然,這一認知不合乎客觀事務邏輯!傳統資料庫廠商雖然沒有自己的雲,但如果它把資料庫架構在其他雲上,能支援分散式系統,這依然是雲原生資料庫。所以,判斷一款資料庫產品是不是雲原生資料庫,有兩條標準。一條是,是否充分利用了雲技術;另一條是,是否採用的是分散式系統。

  當然,雖然很多資料庫都能在雲中執行,但從雲就緒到雲原生,區別很大。雲原生,是指所有的服務、軟體、API 或資料庫都能在雲上執行和部署,同時受益於雲原生系統提供的其他能力。雲就緒是以架構最佳化為基礎,透過融合、整合等策略,對傳統IT架構進行現代化演進。如果說,企業雲原生之路要經歷雲就緒、雲原生和無伺服器三個階段。那麼,雲就緒就是雲原生的第一個階段。所以,雲就緒不等於雲原生。

  Kubernetes是雲原生資料庫的“康莊大道”

  還有,我們在談論雲原生資料庫的時候,總會提到Kubernetes。那麼,雲原生資料庫和 Kubernetes是怎樣一種關係呢?我們到底要不要把資料庫執行在Kubernetes環境中?

  其實,如果你理解了雲原生和容器之間的關係,就能判斷雲上的資料庫到底要不要執行在Kubernetes環境上。雲原生架構的最典型特徵就是全面容器化,而Kubernetes是實現容器規模化發展的康莊大道。所以,雲原生資料庫也一樣,需要在Kubernetes環境中執行。但如何儲存、遷移資料,保持資料的現有狀態,成為一大挑戰。

  最開始,Kubernetes是為無狀態工作負載設計,但資料庫的需求剛好相反,需要資料的持久化儲存能力。之後,Kubernetes進行了升級,透過有狀態服務StatefulSets和持久化儲存Persistent Volumes的引入,輕鬆支援有狀態的工作負載。所以,雲原生資料庫可以在 Kubernetes 環境上執行,並能獲取更靈活、可擴充套件的資料儲存和查詢服務。

  雲原生資料庫利用新的技術改進,將資料庫帶到雲環境中,並體驗到 Kubernetes帶來的彈性和可擴充套件性等所有優勢。

   雲原 生資料庫是企業IT架構不斷演進的結果

  隨著微服務和容器化趨勢的日益普及,需要一個與應用趨勢相同的資料庫,與之相匹配。而MySQL和MongoDB等傳統資料庫在可擴充套件性、安全性和可訪問性等方面存在諸多限制。儘管,它們可以與雲整合,但在雲中使用這些資料庫會受到各種應用上的限制,不能充分體驗到雲帶來的優勢。

  以下是筆者總結的雲原生資料庫的優勢:

  1、可擴充套件性強

  雲原生資料庫最典型特徵是,具備很強的可擴充套件性,可以根據工作負載靈活調動資源,隨時擴縮容。所以,使用者不用擔心因流量激增而導致儲存資源不足的問題。按需付費,根據工作負載需求擴大和縮小資源應用,這點非常重要,也是雲原生資料庫帶來的最重要優勢之一。同時,雲原生資料庫還要確保資料安全,不能因系統故障而出現資料丟失的現象。一旦意外當機,要及時把資料遷移到新的 Pod 或者節點上,並能自動修復資料。

  2、全面自動化

  在 Kubernetes 環境中執行資料庫,非常易於使用,能讓資料庫從程式碼層面實現自動化部署和管理。

  3、快速部署

  雲原生資料庫與傳統資料庫部署方式不同,其雲原生自帶的分散式資料庫技術,使得資料庫部署更快,並且更容易訪問。

  4、節約成本

  雲原生資料庫能夠降低使用者的前期投入成本,藉助雲的彈性擴充套件能力,讓使用者按需按量使用資源,最佳化資源分配。

  5、易於管理

  由於雲原生資料庫擁有自動化和可擴充套件性等特性,所以可以輕鬆管理資料庫,調整相關資源。


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

相關文章