您好,登錄后才能下訂單哦!
怎樣持續(xù)定義SaaS 模式云數(shù)據(jù)倉庫 +Serverless,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
下圖是MaxCompute的Serverless架構(gòu),主要包括數(shù)據(jù)接入服務、多計算環(huán)境、儲存服務和管理幾個模塊。
其中各個模塊的主要特點如下:
(1)Serverless的數(shù)據(jù)接入服務
提供Tunnel批量、流式導入,轉(zhuǎn)換為MC列存格式、自動伸縮等功能,且免費;
可以免費使用LOAD/UNLOAD命令進行OSS導入/導出。
(2)Serverless的多計算環(huán)境
Severless計算資源池,大規(guī)模計算資源池,On-demand按需提供,按作業(yè)付費;
獨占計算資源:支持包年包月付費、Workload管理(負載隔離、優(yōu)先級、分時伸縮等);
運行環(huán)境(runtime)支持ETL/OLAP/ML等大數(shù)據(jù)分析使用場景。
(3)Serverless的存儲服務
與計算無關,獨立伸縮,提供GB-EB級別的存儲服務;
按實際存儲大小付費,降低成本;
無需指定,默認面向分析優(yōu)化(列壓、壓縮);
支持區(qū)分/分桶/Zorder等優(yōu)化手段。
(4)Serverless的管理
開箱即用,內(nèi)建了完整的管理能力,以API/sdk/web-console管理;
平臺則無需用戶運維,降低成本。
上面是對Serverless架構(gòu)的一個簡述,本文的重點是如何利用MaxCompute的Serverless計算資源來滿足數(shù)據(jù)倉庫的需求。
下圖所示的是MaxCompute計算資源與管理與使用的邏輯模型。對于MaxCompute中的Project,實際上對應的是一個邏輯的數(shù)據(jù)倉庫的隔離單元,我們可以根據(jù)不同的管理目標創(chuàng)建不同的Project,比如我們可以分別創(chuàng)建面向測試的Project和面向開發(fā)的Project,兩個項目之間有獨立的數(shù)據(jù)和權限管理體系,并不互通,達到管理的隔離作用。當然,只有這樣的隔離空間還不足夠,因為我們的計算任務需要綁定計算資源,我們可以將Project與付費方式綁定,根據(jù)需求,對不同的Project設置不同的計費方式,使得不同的隔離空間使用不同的計算資源。
在上述的體系之下,MaxCompute有著一些獨特的特點,首先就是有一個多租戶環(huán)境,我們在開通了MaxCompute可以根據(jù)不同的管理需求創(chuàng)建多個隔離的數(shù)據(jù)倉庫空間,對于企業(yè)來說,可以購買多組邏輯上的計算資源,這種多計算資源、多隔離環(huán)境,可以更好地滿足不同的場景需要。
如下圖所示,理想中的Serverless資源模型要求我們很好的規(guī)劃資源的利用方式才能夠完美的適配我們的實際需求(圖中黑線)。
但是,實際上我們的客戶有不同的資源需求,有著眾多的差異化需求場景,其場景主要有:
穩(wěn)定的周期性作業(yè)場景;
業(yè)務高度增長、需求快速變化的場景;
常規(guī)需求伴隨著突發(fā)需求的場景;
測試/開發(fā)需求的場景。
從各種場景中我們可以發(fā)現(xiàn),大數(shù)據(jù)計算對計算資源的需求方式并不是一個完完全全的純Serverless的按需分配的需求,而是不同的階段有不同的需求,且不同類型的需求有不同的要求,其對計算資源的需求特點主要包括如下:
(1)業(yè)務敏捷性需求
長期處于成長期,處理能力能滿足業(yè)務自然增長的需要,特別是業(yè)務快速變化的階段;
可以是企業(yè)的初期,也可以是創(chuàng)新部門的創(chuàng)業(yè)業(yè)務;
(2)周期性峰谷差異明顯
每天、每月周期性的峰谷波動巨大,以峰值容量規(guī)劃,成本和SLA難以平衡;
需要常規(guī)算力+彈性算力,根據(jù)調(diào)度/人為指定作業(yè)資源策略;
(3)穩(wěn)定的業(yè)務,關注關鍵任務的按SLA產(chǎn)出
基線作業(yè),與非關鍵作業(yè)的SLA需求不同,基線產(chǎn)出時間需要保障;
非關鍵作業(yè)盡可能低成本處理,同時不影響關鍵作業(yè);
(4)資源治理:算例需求由快速變化轉(zhuǎn)變?yōu)榉€(wěn)定可預期
對CU的容量規(guī)劃,相互轉(zhuǎn)換以及測算;
固定資源的精細化的Workload管理。
總得來說,現(xiàn)實中我們的算力需求最求的目標就是在滿足現(xiàn)實中的差異化需求的前提下,還能夠達到成本最小化的目標。
那么,MaxCompute的Serverless如何滿足上述的場景和需求呢?如果是一個業(yè)務快速發(fā)展、快速變化的企業(yè),我們建議使用MaxCompute的Serverless按需使用的計算資源。從管理上來講的話,我們可以建立不同的Project去做一些隔離的劃分,比如說建立一套開發(fā)測試環(huán)境,一套生產(chǎn)環(huán)境。對于有些分析師來講,他們往往隨機地需要對一些明細數(shù)據(jù)做大量的探索,或做機器學習分析,往往有一些突發(fā)的算力需求,且這個算力需求的規(guī)??赡芊浅4螅@個時候往往這些作業(yè)要和其他的環(huán)境隔離,因為他們是低頻的,但是卻需要對海量數(shù)據(jù)做分析。
我們還可以按照組織劃分,比如很多企業(yè)的組織比較大,可以按照部門來進行劃分,使得每個部門有一個隔離的環(huán)境,各個部門作為一個獨立的組織,他們需要相對獨立的數(shù)據(jù)和計算資源,我們可以使用Serverless按需分配的這種模式。有了這種模式之后,企業(yè)無需進行容量規(guī)劃,在初期的時候可以使用按量付費的方式,通過這種超大的資源池來滿足各個部門的資源需求,避免資源的爭搶。
總的來說,利用Serverless在各種作業(yè)情況下Serverless都能夠很好的滿足需求:在單作業(yè)的情況下,無論是規(guī)模大小,Serverless都可以很好的滿足不同規(guī)模的作業(yè)資源需求;在多并發(fā)的情況下,Serverless也能夠滿足多作業(yè)需求,避免出現(xiàn)資源的爭搶情況出現(xiàn);在某些我們希望能夠控制作業(yè)費用的情況下,MaxCompute也可以提供費用預估+費用控制的方式來阻斷高額作業(yè)。通過上述的方式,MaxCompute+Serverless可以大大提升業(yè)務敏捷性,加速價值實現(xiàn)。
另外,有一些企業(yè)結(jié)合自身日常的管理環(huán)境,更希望有一個相對穩(wěn)定的資源池,因為其本身有一定的資源規(guī)劃和資源治理的能力,這種情況下,我們購買一定固定規(guī)格大小的資源,然后按照職能或者按照組織劃分隔離環(huán)境,利用MaxCompute提供的配額組管理能力將資源切分成多個資源組,在財務可預測的前提下,滿足不同業(yè)務、不同組織的需求。這種模式的關鍵技術特點有:
負載隔離,避免相互爭搶,資源優(yōu)先分配給關鍵項目和組織;
作業(yè)優(yōu)先級:保障關鍵動態(tài)作業(yè)鏈路查出;
分時伸縮:設置白天、夜間資源分配策略,最大化利用資源。
第三種場景是關于成本與業(yè)務敏捷性的融合。舉個例子,數(shù)據(jù)平臺的管理者可能經(jīng)常面臨多種作業(yè):一類是日常作業(yè),通常把這里作業(yè)放在一個固定大小的資源中,成本可控、可預期;另外一類是一些關鍵作業(yè),我們愿意花費一定的代價把它加速完成去滿足業(yè)務需求,對于這類作業(yè)我們希望能夠拿到一些額外的算力;還有一類作業(yè)是面向數(shù)據(jù)科學家的探索型作業(yè),我們希望這類作業(yè)對我們的生產(chǎn)作業(yè)不要產(chǎn)生干擾,同時數(shù)據(jù)科學家又能利用強大的算力快速地完成業(yè)務假設和設想,我們可以將這類作業(yè)放在按需的資源池中;在復雜的企業(yè)中可能還會有創(chuàng)新類的業(yè)務,他們需要一個新的數(shù)據(jù)開發(fā)環(huán)境和應用創(chuàng)新的環(huán)境,我們可以新建一個數(shù)據(jù)倉庫的隔離環(huán)境,按需分配資源,幫助他們快速的去驗證業(yè)務假設。
產(chǎn)品側(cè)我們主要提供了兩種能力給用戶:
按量付費Project:發(fā)起的作業(yè)使用Serverless資源,可以切換Project綁定的資源組;
使用人員主動設定:根據(jù)需要臨時指定計算資源,作業(yè)級別的資源路由。
上面的三種場景都是在日常運營中的真實場景,還有一個場景就是客戶在使用了按量付費一段時間之后,業(yè)務穩(wěn)定下來了,希望將項目放在固定的、預付費的資源池上。這時候就會遇到一個問題:如何進行資源的需求評估呢?畢竟之前按量付費的時候是不需要進行資源需求預估的。MaxCompute提供了容量規(guī)劃來解決這個問題,其原理是利用MaxCompute提供的元數(shù)據(jù)服務(information schema)根據(jù)歷史的算力消耗情況來預估項目的整體算力需求,其關鍵信息有:
基于information schema按天統(tǒng)計近期項目作業(yè)消耗的計算單元時(算力單位:cu時);
基于information schema按天統(tǒng)計近期項目作業(yè)消耗最高的一天,計算每個小時的算力需求(算力單位:cu時)。
根據(jù)上面的信息我們就可以根據(jù)一定的規(guī)則來預測業(yè)務的算力需求,進行容量規(guī)劃,關于這部分的詳細內(nèi)容大家可以到阿里云社區(qū)查找相應的文章進行了解。
上文主要分享了如何利用Serverless服務來更好的進行資源管理,低成本地滿足不同業(yè)務的資源需求??偟膩碚f:
(1)按量付費的模式適合業(yè)務快速發(fā)展及變化階段,配合MaxCompute的cost control管理手段,既能滿足業(yè)務的算力需求,又能有效的控制成本。
(2)對于預付費的資源,我們可以通過quota管理,切分多個計算資源,做相應的負載隔離、分時管理,利用dw+mc基線作業(yè)優(yōu)先級保障關鍵作業(yè)SLA。
(3)對于預付費固定資源和彈性按量付費組合的方式,我們可以根據(jù)作業(yè)級別選擇不同的計算資源:對于突發(fā)作業(yè),使用按量付費補充突發(fā)算力需求;對于周期性作業(yè)中的尖峰需求,也通過按量付費滿足,從而達到資源的有效利用,且降低成本。
(4)我們可以利用元數(shù)據(jù)來進行算力需求評估,進行容量規(guī)劃,從而在按量付費和預付費方式之間進行轉(zhuǎn)換,還可以利用元數(shù)據(jù)來進行資源消耗分析,進行資源的優(yōu)化,降低資源高消耗的作業(yè),做相應的資源治理。
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業(yè)資訊頻道,感謝您對億速云的支持。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。