了解最新公司動(dòng)態(tài)及行業(yè)資訊
2006 年,CEO Eric Sc??hmidt 首次提出云計(jì)算(Cloud)的概念。 2011年,哥倫比亞大學(xué)教授提出霧計(jì)算(Fog),后來(lái)被思科理論化。云計(jì)算是集中式計(jì)算,埃森哲()給出的云計(jì)算定義:第三方提供商通過(guò)網(wǎng)絡(luò)動(dòng)態(tài)提供和配置IT功能(硬件、軟件或服務(wù))。
霧計(jì)算是云計(jì)算概念的延伸。它是局域網(wǎng)中的一種分布式計(jì)算方法。符合互聯(lián)網(wǎng)“去中心化”的特點(diǎn)。獨(dú)特的應(yīng)用特性使得這種計(jì)算范式支持更多的邊緣節(jié)點(diǎn)。
2011年,邊緣計(jì)算(Edge)的概念同時(shí)出現(xiàn)。社區(qū)給出的定義是:邊緣計(jì)算是在網(wǎng)絡(luò)邊緣為應(yīng)用開(kāi)發(fā)者和服務(wù)提供商提供云服務(wù)和IT環(huán)境。旨在提供接近數(shù)據(jù)輸入或用戶(hù)的計(jì)算、存儲(chǔ)和網(wǎng)絡(luò)帶寬的服務(wù)。
霧計(jì)算與邊緣計(jì)算的區(qū)別在于霧計(jì)算具有層次化、網(wǎng)絡(luò)化的架構(gòu),而邊緣計(jì)算依賴(lài)于不構(gòu)成網(wǎng)絡(luò)的單個(gè)節(jié)點(diǎn)。霧計(jì)算中的不同節(jié)點(diǎn)具有廣泛的點(diǎn)對(duì)點(diǎn)互連能力,而邊緣計(jì)算是一個(gè)運(yùn)行在孤島中的節(jié)點(diǎn),這些節(jié)點(diǎn)被容納在云或霧網(wǎng)絡(luò)中以實(shí)現(xiàn)流量傳輸。
云計(jì)算、霧計(jì)算和邊緣計(jì)算是三種不同但相關(guān)的計(jì)算范式,每一種可能對(duì)數(shù)據(jù)庫(kù)系統(tǒng)有不同的要求。如今,云計(jì)算中的云數(shù)據(jù)庫(kù)的特性基本得到驗(yàn)證,但也在不斷發(fā)展。霧計(jì)算中霧數(shù)據(jù)庫(kù)的特點(diǎn)尚未被提出,邊緣計(jì)算中的數(shù)據(jù)庫(kù)是否可以從傳統(tǒng)的單機(jī)數(shù)據(jù)庫(kù)系統(tǒng)中稍微演進(jìn)一些也沒(méi)有被提及或討論。
但是,三種不同的計(jì)算方式必須適用于不同類(lèi)型的應(yīng)用,對(duì)數(shù)據(jù)存儲(chǔ)、管理、計(jì)算和交換的要求也必須不同。深入研究不同應(yīng)用的需求和特點(diǎn),提供不同類(lèi)型的數(shù)據(jù)庫(kù)。未來(lái)數(shù)據(jù)庫(kù)的種類(lèi)或形式一定會(huì)更加豐富多彩。
01 云原生
Cloud的概念早在云原生的概念之前就出現(xiàn)了,其內(nèi)容可以概括為一種方法論,稱(chēng)為12- (12-App)。根據(jù)這12個(gè)要素,人們對(duì)數(shù)據(jù)庫(kù)提出了如下一些具體的要求,使數(shù)據(jù)庫(kù)的結(jié)構(gòu)和功能發(fā)生了變化。
Matt Stine 在 2017 年的一次技術(shù)會(huì)議上的分享中提出了“云與微服務(wù):一種共生關(guān)系”的概念,云原生(Cloud)的概念正式誕生。他將云原生分為六個(gè)特征:模塊化、可觀察、可部署、可測(cè)試、可替換和可處理。
Matt Stine 認(rèn)為:服務(wù)的基本原則是有明確的重點(diǎn)(應(yīng)用功能細(xì)分的要求)、明確的契約(應(yīng)明確定義應(yīng)用與后臺(tái)服務(wù)之間的接口)、明確的 API(應(yīng)用程序與后臺(tái)服務(wù)之間的接口在形式上應(yīng)清晰易用)。
云原生一般被認(rèn)為是思想的集合,包括很多東西:、持續(xù)交付()、微服務(wù)()、敏捷基礎(chǔ)設(shè)施(Agile)、康威定律(Law)等,并根據(jù)公司重組其商業(yè)能力。
這使得云原生的概念全面而復(fù)雜,它是一系列技術(shù)、企業(yè)管理方法的集合,既包括技術(shù)(微服務(wù),敏捷基礎(chǔ)設(shè)施),又包括管理(從,管理技術(shù)在持續(xù)的層面上)交付、康威定律和重組)。
云計(jì)算改變了傳統(tǒng)的應(yīng)用模式,其自身特點(diǎn)如下。
1.縮放
IT 設(shè)施正在從分散式轉(zhuǎn)向集中式和大規(guī)模。大規(guī)模數(shù)據(jù)中心作為基礎(chǔ)設(shè)施大量建立,為全社會(huì)提供集中服務(wù)。
2.資源池
IT設(shè)施規(guī)模化后,硬件資源需要根據(jù)彈性業(yè)務(wù)的需求進(jìn)行統(tǒng)一管理。業(yè)務(wù)規(guī)模要具備動(dòng)態(tài)、瞬時(shí)的伸縮能力,所以要集中硬件資源,提供彈性服務(wù)。
云計(jì)算有望通過(guò)互聯(lián)網(wǎng)為用戶(hù)提供按需的IT資源服務(wù)。因此,云服務(wù)提供商必須確保在提供的硬件資源上擁有足夠容量的資源池,以確保在并發(fā)業(yè)務(wù)高峰時(shí)段滿(mǎn)足用戶(hù)的服務(wù)需求。這就是云服務(wù)的資源池化。
作為一種服務(wù),云數(shù)據(jù)庫(kù)類(lèi)似于云計(jì)算,它可以管理和使用的資源也需要資源池化。這樣,用戶(hù)在使用云數(shù)據(jù)庫(kù)服務(wù)時(shí),不需要了解云數(shù)據(jù)庫(kù)中的實(shí)際架構(gòu)和技術(shù)實(shí)現(xiàn),用戶(hù)感知到的就是自己使用的獨(dú)立完整的數(shù)據(jù)管理服務(wù)和相應(yīng)的計(jì)算資源。
對(duì)于用戶(hù)來(lái)說(shuō),資源管理作為多租戶(hù)特性體現(xiàn)在云數(shù)據(jù)庫(kù)中服務(wù)器運(yùn)維技術(shù),根據(jù)租戶(hù)租用的資源提供服務(wù)。將數(shù)據(jù)庫(kù)內(nèi)部資源池化后,可以為用戶(hù)應(yīng)用提供彈性伸縮服務(wù)。
3.面向服務(wù)
云計(jì)算改變了 IT 行業(yè)過(guò)去可以提供的服務(wù)。
4.多元化
數(shù)據(jù)形式和應(yīng)用場(chǎng)景由簡(jiǎn)單化向多樣化轉(zhuǎn)變。服務(wù)、微服務(wù)等已經(jīng)成型,()作為一種FaaS(-as-a-)也開(kāi)始為世界的多樣性和興奮做出貢獻(xiàn)。
02 云數(shù)據(jù)庫(kù)
為了滿(mǎn)足云應(yīng)用的研發(fā)需求,在云上提供服務(wù)的數(shù)據(jù)庫(kù)系統(tǒng)也相應(yīng)發(fā)生了一些變化。云原生數(shù)據(jù)庫(kù)是指通過(guò)云平臺(tái)構(gòu)建、部署、交付和自動(dòng)運(yùn)維的數(shù)據(jù)庫(kù)服務(wù)。
該服務(wù)通常采用DBaaS(-as-a-)的形式,隱藏了數(shù)據(jù)庫(kù)架構(gòu)和實(shí)現(xiàn)細(xì)節(jié),以多租戶(hù)和高效資源分發(fā)的形式自動(dòng)管理云資源,為用戶(hù)提供A滿(mǎn)足彈性伸縮、高可用、高可靠、高安全、強(qiáng)一致性要求,隨時(shí)隨地可訪(fǎng)問(wèn)的數(shù)據(jù)庫(kù)服務(wù)。
該服務(wù)具有自動(dòng)化運(yùn)維能力(需要很少的人力),可以提供自動(dòng)備份恢復(fù)、自動(dòng)性能調(diào)優(yōu)、大型數(shù)據(jù)庫(kù)集群的自動(dòng)資源調(diào)整等。工作(具有智能數(shù)據(jù)庫(kù)的特點(diǎn))。該能力降低了云數(shù)據(jù)庫(kù)系統(tǒng)托管和維護(hù)的成本,并大規(guī)模提高了資源利用率。
總的來(lái)說(shuō),云數(shù)據(jù)庫(kù)的特點(diǎn)可以概括為解放用戶(hù)和適應(yīng)業(yè)務(wù)。具體可以轉(zhuǎn)化為以下6項(xiàng),其中前3項(xiàng)屬于解放用戶(hù)類(lèi),后3項(xiàng)屬于適應(yīng)業(yè)務(wù)類(lèi)。
1.智能運(yùn)維(智能數(shù)據(jù)庫(kù))
故障可以自愈,包括停機(jī)自動(dòng)遷移、故障隔離、異常流量自動(dòng)調(diào)度、負(fù)載均衡、自動(dòng)限制流降級(jí)等。數(shù)據(jù)庫(kù)可以自動(dòng)調(diào)優(yōu),自動(dòng)調(diào)整資源使用,有自適應(yīng)算法,以應(yīng)對(duì)應(yīng)用程序的負(fù)載等。這些能力可以概括為自調(diào)優(yōu)、自適應(yīng)、自動(dòng)駕駛(業(yè)界將自動(dòng)駕駛的標(biāo)準(zhǔn)分為6個(gè)級(jí)別,數(shù)據(jù)庫(kù)社區(qū)借用這個(gè)級(jí)別來(lái)定義數(shù)據(jù)庫(kù)自動(dòng)駕駛的概念)。
2.易于管理
智能運(yùn)維的性能易于管理。云數(shù)據(jù)庫(kù)具備異常自動(dòng)分析診斷能力,可實(shí)現(xiàn)白屏、智能化、規(guī)?;?、少人化運(yùn)維操作。
3.極致體驗(yàn)
用戶(hù)可以以最簡(jiǎn)單的方式完成數(shù)據(jù)庫(kù)的申請(qǐng)、創(chuàng)建、監(jiān)控、報(bào)警、故障定位,給用戶(hù)帶來(lái)極其便捷的體驗(yàn)。
4.彈性伸縮
可根據(jù)業(yè)務(wù)應(yīng)用負(fù)載自動(dòng)伸縮,具備秒級(jí)擴(kuò)縮容能力,靈活動(dòng)態(tài)分配或釋放資源,結(jié)合靈活計(jì)費(fèi)策略,可大幅降低用戶(hù)使用成本。本文部分內(nèi)容與智能運(yùn)維有重疊,但描述問(wèn)題的角度不同。本文從系統(tǒng)可擴(kuò)展性的角度描述了云數(shù)據(jù)庫(kù)的重要特性。
將業(yè)務(wù)或系統(tǒng)遷移到云端就是購(gòu)買(mǎi)應(yīng)對(duì)未來(lái)的可能性。對(duì)于商家在業(yè)務(wù)發(fā)展過(guò)程中,隨著數(shù)據(jù)的積累,存儲(chǔ)可以隨時(shí)在云端擴(kuò)展,計(jì)算節(jié)點(diǎn)也可以自由擴(kuò)展。這是商家從小到大的最佳資源利用。方法是最便宜的方法。
支持這種業(yè)務(wù)發(fā)展的技術(shù)是彈性伸縮。在彈性伸縮中,需要考慮事務(wù)執(zhí)行的順序。對(duì)于數(shù)據(jù)庫(kù)架構(gòu)來(lái)說(shuō),這個(gè)順序就是存儲(chǔ)和計(jì)算的分離。
5.按需計(jì)費(fèi)
支持設(shè)置多個(gè)按量計(jì)費(fèi)(如流量、存儲(chǔ)、調(diào)用次數(shù)、調(diào)用時(shí)長(zhǎng)、內(nèi)核數(shù)、內(nèi)存資源使用量等)。這種定價(jià)策略可以讓用戶(hù)根據(jù)業(yè)務(wù)情況靈活匹配最優(yōu)的計(jì)量模式,節(jié)省用戶(hù)成本。
6.安全和資源隔離
云數(shù)據(jù)庫(kù)采用共享池化技術(shù),提高計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)等資源的利用率,隔離用戶(hù)并發(fā)爭(zhēng)用資源。此外,提供多租戶(hù)方式,實(shí)現(xiàn)安全隔離,避免信息泄露或攻擊。
以上內(nèi)容為云數(shù)據(jù)庫(kù)的設(shè)計(jì)指明了方向。
03 數(shù)據(jù)庫(kù)
它是一種無(wú)服務(wù)器架構(gòu),它不是一個(gè)特定的編程框架或工具,而是一個(gè)軟件系統(tǒng)架構(gòu)思想和方法的核心思想是讓用戶(hù)不需要關(guān)注支持的底層主機(jī)應(yīng)用服務(wù)的運(yùn)營(yíng)。用戶(hù)可根據(jù)應(yīng)用需要,按需使用底層服務(wù)器(硬件和軟件系統(tǒng)),按使用量付費(fèi)。此類(lèi)應(yīng)用所需的計(jì)算資源由底層云計(jì)算平臺(tái)動(dòng)態(tài)提供。
云原生數(shù)據(jù)庫(kù)作為后臺(tái)服務(wù),提供了一種數(shù)據(jù)庫(kù)服務(wù)/訪(fǎng)問(wèn)方式來(lái)連接用戶(hù),這個(gè)方式就是方法。但是,它不僅是一種連接數(shù)據(jù)庫(kù)的服務(wù)方式,也是一種連接其他類(lèi)型服務(wù)的方式。是云數(shù)據(jù)庫(kù)的服務(wù)能力。云數(shù)據(jù)庫(kù)將數(shù)據(jù)存儲(chǔ)、管理和計(jì)算能力轉(zhuǎn)化為服務(wù),為用戶(hù)提供服務(wù)。
一個(gè)有能力的數(shù)據(jù)庫(kù)系統(tǒng)需要在存儲(chǔ)層面解決無(wú)限的數(shù)據(jù)存儲(chǔ)能力;在計(jì)算層面,需要提供彈性計(jì)算能力;在內(nèi)部系統(tǒng)架構(gòu)上,需要提供監(jiān)控和調(diào)度能力。資源分配可以動(dòng)態(tài)進(jìn)行;對(duì)于數(shù)據(jù)庫(kù)的每個(gè)組件服務(wù)器運(yùn)維技術(shù),都必須具備被池化的能力,即具備自動(dòng)管理資源的能力;對(duì)于用戶(hù)訪(fǎng)問(wèn)層,必須能夠響應(yīng)用戶(hù)訪(fǎng)問(wèn)事件請(qǐng)求,根據(jù)訪(fǎng)問(wèn)量,利用前述的存儲(chǔ)、計(jì)算、管理基礎(chǔ)彈性伸縮,應(yīng)對(duì)應(yīng)用層的峰谷,并按體積收費(fèi)。
如果云數(shù)據(jù)庫(kù)具有無(wú)服務(wù)器架構(gòu)的能力并支持依賴(lài)于數(shù)據(jù)庫(kù)類(lèi)的應(yīng)用程序,則可以調(diào)用它。在構(gòu)建能力時(shí),云數(shù)據(jù)庫(kù)應(yīng)具備以下特點(diǎn)。
圖 6-1 展示了 AWS 的功能。
▲圖6-1 數(shù)據(jù)庫(kù)有能力
在應(yīng)用層,可以以函數(shù)或事件的形式進(jìn)行連接。進(jìn)入服務(wù)平臺(tái)。比如AWS API接口會(huì)觸發(fā)AWS函數(shù)或者函數(shù),這些函數(shù)會(huì)從數(shù)據(jù)庫(kù)表中獲取數(shù)據(jù)流,返回應(yīng)用時(shí)數(shù)據(jù)的格式是固定的。不同的云計(jì)算廠(chǎng)商有不同的設(shè)計(jì)方案,但使用的思路是相似的。
作者簡(jiǎn)介:李海翔(網(wǎng)名:),騰訊金融云數(shù)據(jù)庫(kù)首席研究員,騰訊T14級(jí)專(zhuān)家,騰訊TDSQL分布式數(shù)據(jù)庫(kù)首席架構(gòu)師。中國(guó)人民大學(xué)、北京林業(yè)大學(xué)特聘碩士生導(dǎo)師,CCF數(shù)據(jù)庫(kù)專(zhuān)委會(huì)委員,DTCC(中國(guó)數(shù)據(jù)庫(kù)技術(shù)大會(huì))專(zhuān)家委員會(huì)委員,北京市科技進(jìn)步一等獎(jiǎng)獲得者。申請(qǐng)并獲得專(zhuān)利70余項(xiàng),在VLDB等數(shù)據(jù)庫(kù)會(huì)議上發(fā)表論文數(shù)篇,參與多項(xiàng)國(guó)家863重大項(xiàng)目、核高技術(shù)、工信部、科技部和其他項(xiàng)目。
本文摘自《分布式數(shù)據(jù)庫(kù)的原理、架構(gòu)與實(shí)踐》,經(jīng)出版社授權(quán)發(fā)表。
《分布式數(shù)據(jù)庫(kù)原理、架構(gòu)與實(shí)踐》
推薦:騰訊T14級(jí)專(zhuān)家,騰訊金融云數(shù)據(jù)庫(kù)首席研究員,騰訊TDSQL首席架構(gòu)師撰寫(xiě),從原理、架構(gòu)、案例三個(gè)維度深度解析分布式數(shù)據(jù)庫(kù)。
24小時(shí)免費(fèi)咨詢(xún)
請(qǐng)輸入您的聯(lián)系電話(huà),座機(jī)請(qǐng)加區(qū)號(hào)