無服務(wù)器計(jì)算在過去兩年中開始獲得推動(dòng),從傳統(tǒng)的單一數(shù)據(jù)庫服務(wù)器到根本沒有數(shù)據(jù)庫服務(wù)器,無服務(wù)器計(jì)算模式能否真正改變關(guān)系數(shù)據(jù)庫技術(shù)的格局?今天小編就和大家聊一聊無服務(wù)器。
無服務(wù)器計(jì)算在過去兩年中開始獲得推動(dòng),從傳統(tǒng)的單一數(shù)據(jù)庫服務(wù)器到根本沒有數(shù)據(jù)庫服務(wù)器,無服務(wù)器計(jì)算模式能否真正改變關(guān)系數(shù)據(jù)庫技術(shù)的格局?今天小編就和大家聊一聊無服務(wù)器。
無服務(wù)器計(jì)算全部關(guān)注于將應(yīng)用程序轉(zhuǎn)移到不需要管理的基礎(chǔ)架構(gòu),并且僅在運(yùn)行時(shí)間內(nèi)消耗資源。在公有
云中,無服務(wù)器通常轉(zhuǎn)換為提供者根據(jù)工作負(fù)載需求動(dòng)態(tài)管理服務(wù)器資源分配的
解決方案。 AWS Lambda領(lǐng)先,微軟Azure功能(及其他)迅速迎頭趕上。無服務(wù)器計(jì)算框架的定價(jià)通?;趹?yīng)用程序消耗的實(shí)際資源量,而不是預(yù)先購買的容量。隨著無狀態(tài)應(yīng)用程序的這些無服務(wù)器計(jì)算解決方案在下一代軟件體系結(jié)構(gòu)中得到普及和采用,那么這些解決方案會(huì)離開關(guān)系數(shù)據(jù)庫?對(duì)于很多(如果不是大多數(shù))應(yīng)用程序來說仍然是一個(gè)關(guān)鍵組件。
在過去的幾年中,當(dāng)涉及到部署關(guān)系數(shù)據(jù)庫時(shí),你已經(jīng)擁有了幾個(gè)可靠且經(jīng)過驗(yàn)證的模型:從龐大的微服務(wù)到微服務(wù),再到平臺(tái)即服務(wù)解決方案。你可以部署單個(gè)“大型”服務(wù)器,運(yùn)行可為數(shù)十種應(yīng)用程序供電的單片或統(tǒng)一數(shù)據(jù)庫。還可以選擇依靠面向微服務(wù)的架構(gòu)和一套獨(dú)立的小型模塊化服務(wù),每個(gè)服務(wù)都可以實(shí)現(xiàn)獨(dú)特的流程并實(shí)現(xiàn)特定的業(yè)務(wù)目標(biāo)。云解決方案的采用還為你提供了通過基礎(chǔ)架構(gòu)即代碼部署數(shù)據(jù)庫的能力,甚至可以利用平臺(tái)即服務(wù)解決方案,從而大大降低了我們數(shù)據(jù)庫的運(yùn)營開銷和復(fù)雜性。
但是,所有這些模型仍然依賴數(shù)據(jù)庫服務(wù)器的供應(yīng)。無論是在本地,在云中還是使用PaaS。你可以根據(jù)預(yù)測(cè)的工作負(fù)載特征來調(diào)配數(shù)據(jù)庫容量,這些特征決定了服務(wù)器的大小和配置。當(dāng)然,可以擴(kuò)展,縮小或擴(kuò)展數(shù)據(jù)庫以響應(yīng)工作負(fù)載(取決于所使用的數(shù)據(jù)庫技術(shù)),但此過程并不意味著經(jīng)常進(jìn)行。
相反,應(yīng)該根據(jù)周期性事件進(jìn)行擴(kuò)展,例如即將到來的假日季節(jié),這將為你的電子商務(wù)應(yīng)用程序生成額外的交易,或者為你的公司的SaaS產(chǎn)品添加一個(gè)新的大客戶作為回應(yīng)。擁有專用數(shù)據(jù)庫服務(wù)器對(duì)于工作負(fù)載多少有點(diǎn)可預(yù)測(cè)且相對(duì)穩(wěn)定是最有意義的??赡軙?huì)出現(xiàn)高峰和低谷,但它們通常遵循可預(yù)測(cè)的模式。你可能需要在一年中多次調(diào)整數(shù)據(jù)庫的大小,但整天不會(huì)多次。不常用的數(shù)據(jù)庫縮放是最適合傳統(tǒng)應(yīng)用的模型。
下一代應(yīng)用程序引入了下一代挑戰(zhàn)。其中一些工作負(fù)載可能是零星的,間歇性的,而且難以預(yù)料。例如,數(shù)據(jù)庫查詢或事務(wù)的突發(fā)可能每天(甚至每個(gè)月)只能持續(xù)幾分鐘或幾小時(shí)。使用與之前相同的電子商務(wù)應(yīng)用程序示例,為了防備,你的數(shù)據(jù)庫如何提供對(duì)閃存銷售事件的支持,而不必事先過度配置數(shù)據(jù)庫服務(wù)器?對(duì)于其他工作負(fù)載也存在類似的挑戰(zhàn),從在線游戲,股票交易甚至分析。大多數(shù)數(shù)據(jù)庫管理員將聲明,您應(yīng)該根據(jù)預(yù)測(cè)的高峰工作負(fù)載調(diào)整數(shù)據(jù)庫的大小。如果可能的話,擴(kuò)展數(shù)據(jù)庫的過程是一件苦差事,這是傳統(tǒng)的智慧和正確的范例。
無服務(wù)器計(jì)算數(shù)據(jù)庫意味著什么?
為了利用數(shù)據(jù)庫
空間的無服務(wù)器計(jì)算模式,首先需要分離數(shù)據(jù)體系結(jié)構(gòu)的存儲(chǔ)層和處理層。解耦存儲(chǔ)和計(jì)算并不完全是一個(gè)新概念。這個(gè)想法已經(jīng)在一定程度上在NoSQL和大數(shù)據(jù)分析空間(Amazon EMR,微軟的Azure DLS和DLA等)以及各種關(guān)系數(shù)據(jù)庫技術(shù)(Oracle RAC,NuoDB)中實(shí)現(xiàn)。
然而,純粹的存儲(chǔ)和計(jì)算解耦并不完全是你稱之為無服務(wù)器的。為了完全無服務(wù)器計(jì)算,計(jì)算不應(yīng)該存在于不處理數(shù)據(jù)的時(shí)段,同時(shí)也提供按需自動(dòng)縮放。
實(shí)質(zhì)上,部署一個(gè)數(shù)據(jù)架構(gòu),數(shù)據(jù)庫層將根據(jù)應(yīng)用程序工作負(fù)載自動(dòng)啟動(dòng),關(guān)閉和擴(kuò)展/縮減,同時(shí)還抽象出服務(wù)器,實(shí)例或群集的概念。您只需要定義數(shù)據(jù)庫端點(diǎn)并連接您的應(yīng)用程序;底層數(shù)據(jù)庫技術(shù)將根據(jù)應(yīng)用程序需求擴(kuò)展存儲(chǔ)和計(jì)算資源。
除了性能和靈活性方面的優(yōu)勢(shì)外,無服務(wù)器計(jì)算數(shù)據(jù)庫模型還可提供高水平的成本效益。例如,每秒支付使用的數(shù)據(jù)庫容量,并且僅在數(shù)據(jù)庫處于活動(dòng)狀態(tài)時(shí)才支付,而不是事先選擇數(shù)據(jù)庫實(shí)例的大小。
無服務(wù)器計(jì)算數(shù)據(jù)庫技術(shù)的當(dāng)前狀態(tài)
有大量可擴(kuò)展的關(guān)系數(shù)據(jù)庫技術(shù)提供讀取或讀/寫擴(kuò)展。但是,這些不是本地?zé)o服務(wù)器計(jì)算產(chǎn)品。還有針對(duì)無服務(wù)器計(jì)算數(shù)據(jù)庫的創(chuàng)新解決方案,其中包括諸如FaunaDB(無服務(wù)器和全局復(fù)制的NoSQL數(shù)據(jù)庫),Google Cloud Spanner(全球分布式和強(qiáng)一致的關(guān)系數(shù)據(jù)庫)或MicrosoftCosmos DB(模式不可知的多模式數(shù)據(jù)庫)模型)。但是想要使用這些數(shù)據(jù)庫技術(shù)的傳統(tǒng)應(yīng)用程序?qū)⒉坏貌淮罅恐貙懟蜻M(jìn)行大量重新平臺(tái)化。例如,盡管Google Spanner是一個(gè)具有完整ACID功能的關(guān)系數(shù)據(jù)庫(并且擁有獨(dú)特的數(shù)據(jù)庫技術(shù)),但它依賴于定制客戶端庫來實(shí)現(xiàn)連接,并提供了一種SQL變體,其中事務(wù)由自定義API處理。
支持真正無服務(wù)器計(jì)算和真正的關(guān)系數(shù)據(jù)庫,一方面具有完整的服務(wù)器抽象/擴(kuò)展能力,另一方面保持完整的ANSI SQL和ACID支持,這是一個(gè)相對(duì)較新的創(chuàng)新成熟的計(jì)劃;特別是來自公有云領(lǐng)域(亞馬遜,微軟,谷歌和甲骨文)的供應(yīng)商。
例如,亞馬遜在去年的Re:Invent會(huì)議上發(fā)布的最令人興奮的公告之一是針對(duì)Aurora MySQL數(shù)據(jù)庫的無服務(wù)器版本,該版本將于2018年晚些時(shí)候發(fā)布。據(jù)亞馬遜稱,Aurora Serverless的設(shè)計(jì)目標(biāo)是“并且如果發(fā)生快速變化,這種新的配置可以讓您按需付費(fèi)使用數(shù)據(jù)庫資源。”亞馬遜表示,Aurora無服務(wù)器用戶只會(huì)在數(shù)據(jù)庫處于活動(dòng)狀態(tài)時(shí)支付處理費(fèi)用(以及至于使用的存儲(chǔ))。亞馬遜本質(zhì)上構(gòu)建了一個(gè)事件驅(qū)動(dòng)計(jì)算平臺(tái)的數(shù)據(jù)庫。用戶提供端點(diǎn),該端點(diǎn)充當(dāng)將查詢路由到快速縮放的數(shù)據(jù)庫資源隊(duì)列的代理。根據(jù)Amazon提供的信息,即使進(jìn)行縮放操作,Aurora Serverless也將允許您的連接保持活動(dòng)狀態(tài)??s放也應(yīng)該是快速的,新資源將在幾秒鐘內(nèi)上線。
未來是什么樣子的
看到技術(shù)變化如何推動(dòng)開發(fā)和應(yīng)用程序部署模式的變化是不可思議的。支持API驅(qū)動(dòng)的操作和擴(kuò)展對(duì)于下一代數(shù)據(jù)架構(gòu)變得越來越重要,無服務(wù)器數(shù)據(jù)庫成為一個(gè)固有的重要組件。當(dāng)前RDBMS技術(shù)的圣杯之一是將無服務(wù)器計(jì)算的優(yōu)勢(shì)與開發(fā)人員知道的靈活關(guān)系數(shù)據(jù)模型以及現(xiàn)有應(yīng)用程序兼容的完整ANSI SQL和ACID支持相結(jié)合。
無論哪個(gè)數(shù)據(jù)庫供應(yīng)商首先達(dá)到頂級(jí)水平、并發(fā)布完全關(guān)系型和完全無服務(wù)器的數(shù)據(jù)庫引擎,肯定會(huì)在市場(chǎng)上留下重要的標(biāo)記。因此,亞馬遜,甲骨文,微軟,谷歌和其他公司的數(shù)據(jù)庫創(chuàng)新峰會(huì)正在進(jìn)行中!以上就是小編為大家整理的關(guān)于無服務(wù)器的相關(guān)資訊。