當前位置:
首頁 > 最新 > 無伺服器計算將改變關係資料庫的遊戲規則!

無伺服器計算將改變關係資料庫的遊戲規則!

從單一資料庫伺服器到根本沒有資料庫伺服器。無伺服器計算模式能否改變關係資料庫技術的格局?

無伺服器計算在過去兩年中開始獲得推動,這一概念全部關注於將應用程序轉移到不需要管理的基礎架構,並且僅在運行時間內消耗資源。在公有雲中,無伺服器通常轉換為提供者根據工作負載需求動態管理伺服器資源分配的解決方案。 AWS Lambda領先,微軟Azure功能(及其他)迅速迎頭趕上。無伺服器計算框架的定價通常基於應用程序消耗的實際資源量,而不是預先購買的容量。隨著無狀態應用程序的這些無伺服器計算解決方案在下一代軟體體系結構中得到普及和採用,那麼這些解決方案會離開關係資料庫?對於很多(如果不是大多數)應用程序來說仍然是一個關鍵組件

在過去的幾年中,當涉及到部署關係資料庫時,你已經擁有了幾個可靠且經過驗證的模型:從龐大的微服務到微服務,再到平台即服務解決方案。你可以部署單個「大型」伺服器,運行可為數十種應用程序供電的單片或統一資料庫。還可以選擇依靠面向微服務的架構和一套獨立的小型模塊化服務,每個服務都可以實現獨特的流程並實現特定的業務目標。雲解決方案的採用還為你提供了通過基礎架構即代碼部署資料庫的能力,甚至可以利用平台即服務解決方案,從而大大降低了我們資料庫的運營開銷和複雜性。

但是,所有這些模型仍然依賴資料庫伺服器的供應。無論是在本地,在雲中還是使用PaaS。你可以根據預測的工作負載特徵來調配資料庫容量,這些特徵決定了伺服器的大小和配置。當然,可以擴展,縮小或擴展資料庫以響應工作負載(取決於所使用的資料庫技術),但此過程並不意味著經常進行。

相反,應該根據周期性事件進行擴展,例如即將到來的假日季節,這將為你的電子商務應用程序生成額外的交易,或者為你的公司的SaaS產品添加一個新的大客戶作為回應。擁有專用資料庫伺服器對於工作負載多少有點可預測且相對穩定是最有意義的。可能會出現高峰和低谷,但它們通常遵循可預測的模式。你可能需要在一年中多次調整資料庫的大小,但整天不會多次。不常用的資料庫縮放是最適合傳統應用的模型。

下一代應用程序引入了下一代挑戰。其中一些工作負載可能是零星的,間歇性的,而且難以預料。例如,資料庫查詢或事務的突發可能每天(甚至每個月)只能持續幾分鐘或幾小時。使用與之前相同的電子商務應用程序示例,為了防備,你的資料庫如何提供對快閃記憶體銷售事件的支持,而不必事先過度配置資料庫伺服器?對於其他工作負載也存在類似的挑戰,從在線遊戲,股票交易甚至分析(如果每天只有幾個小時的分析套件產生大量資料庫負載,該怎麼辦)?大多數資料庫管理員將聲明,您應該根據預測的高峰工作負載調整資料庫的大小。如果可能的話,擴展資料庫的過程是一件苦差事,這是傳統的智慧和正確的範例。

無伺服器計算資料庫意味著什麼?

為了利用資料庫空間的無伺服器計算模式,首先需要分離數據體系結構的存儲層和處理層。解耦存儲和計算並不完全是一個新概念。這個想法已經在一定程度上在NoSQL和大數據分析空間(Amazon EMR,微軟的Azure DLS和DLA等)以及各種關係資料庫技術(Oracle RAC,NuoDB)中實現。

然而,純粹的存儲和計算解耦並不完全是你稱之為無伺服器的。為了完全無伺服器計算,計算不應該存在於不處理數據的時段,同時也提供按需自動縮放。

實質上,部署一個數據架構,資料庫層將根據應用程序工作負載自動啟動,關閉和擴展/縮減,同時還抽象出伺服器,實例或群集的概念。您只需要定義資料庫端點並連接您的應用程序;底層資料庫技術將根據應用程序需求擴展存儲和計算資源。

除了性能和靈活性方面的優勢外,無伺服器計算資料庫模型還可提供高水平的成本效益。例如,每秒支付使用的資料庫容量,並且僅在資料庫處於活動狀態時才支付,而不是事先選擇資料庫實例的大小。

無伺服器計算資料庫技術的當前狀態

有大量可擴展的關係資料庫技術提供讀取或讀/寫擴展(Oracle RAC,Amazon Aurora,Percona XtraDB,ClustrixDB,NuoDB等)。但是,這些不是本地無伺服器計算產品。還有針對無伺服器計算資料庫的創新解決方案,其中包括諸如FaunaDB(無伺服器和全局複製的NoSQL資料庫),Google Cloud Spanner(全球分散式和強一致的關係資料庫)或MicrosoftCosmos DB(模式不可知的多模式資料庫)模型)。但是想要使用這些資料庫技術的傳統應用程序將不得不大量重寫或進行大量重新平台化。例如,儘管Google Spanner是一個具有完整ACID功能的關係資料庫(並且擁有獨特的資料庫技術),但它依賴於定製客戶端庫來實現連接,並提供了一種SQL變體,其中事務由自定義API處理。

支持真正無伺服器計算和真正的關係資料庫,一方面具有完整的伺服器抽象/擴展能力,另一方面保持完整的ANSI SQL和ACID支持,這是一個相對較新的創新成熟的計劃;特別是來自公有雲領域(亞馬遜,微軟,谷歌和甲骨文)的供應商。

例如,亞馬遜在去年的Re:Invent會議上發布的最令人興奮的公告之一是針對Aurora MySQL資料庫的無伺服器版本,該版本將於2018年晚些時候發布。據亞馬遜稱,Aurora Serverless的設計目標是「並且如果發生快速變化,這種新的配置可以讓您按需付費使用資料庫資源。「亞馬遜表示,Aurora無伺服器用戶只會在資料庫處於活動狀態時支付處理費用(以及至於使用的存儲)。亞馬遜本質上構建了一個事件驅動計算平台的資料庫。用戶提供端點,該端點充當將查詢路由到快速縮放的資料庫資源隊列的代理。根據Amazon提供的信息,即使進行縮放操作,Aurora Serverless也將允許您的連接保持活動狀態。縮放也應該是快速的,新資源將在幾秒鐘內上線。

未來是什麼樣子的

看到技術變化如何推動開發和應用程序部署模式的變化是不可思議的。 支持API驅動的操作和擴展對於下一代數據架構變得越來越重要,無伺服器資料庫成為一個固有的重要組件。

當前RDBMS技術的聖杯之一是將無伺服器計算的優勢與開發人員知道的靈活關係數據模型以及現有應用程序兼容的完整ANSI SQL和ACID支持相結合。 看起來,無論哪個資料庫供應商首先達到頂級水平,並發布完全關係型和完全無伺服器的資料庫引擎,肯定會在市場上留下重要的標記。因此,亞馬遜,甲骨文,微軟,谷歌和其他公司,資料庫創新峰會正在進行中!


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 雲技術之家 的精彩文章:

Gartner:AIOps「智能運維」真的來了,並且是趨勢
什麼是數據挖掘?分析如何揭示洞察力

TAG:雲技術之家 |