跳轉到主要內容
Beplay体育安卓版本平台的博客”>
             <noscript>
              <img data-gatsby-image-ssr=

成本管理的最佳實踐在磚上

分享這篇文章

這個博客是我們管理的一部分要素係列中,我們將關注這些話題重要磚環境的管理和維護。留意其他博客上額外的話題,看看我們以前的博客工作空間管理最佳實踐!

使用雲平台的主要優勢之一就是它的靈活性。Beplay体育安卓版本磚Lakehouse平台提供用戶方便地訪問Beplay体育安卓版本附近的即時水平和可伸縮的計算。然而,這易於創建計算資源是螺旋雲的風險成本的時候左非托管和沒有護欄。作為管理員,我們總是尋求完美的平衡避免過高的基礎設施成本,同時允許用戶沒有不必要的摩擦。在這個博客中,我們將討論磚管理工具找到這種平衡和控製成本沒有節流用戶的生產力。

光譜的控製和易用性”src=
光譜的控製和易用性

DBU是什麼?

跳入磚上可用成本控製平台之前,重要的是要首先了解的成本基礎運行一個工作負載。Beplay体育安卓版本磚單元(DBU)底層單元內的消費平台。Beplay体育安卓版本除了一個SQL倉庫,DBUs是基於消費的數量的節點數量計算能力潛在的VM實例類型各自的集群的一部分(如SQL倉庫基本上是一群集群,DBU率之和DBU的集群組成端點)。在最高級別,每個雲會有稍微不同的DBU率相似集群(因為雲節點類型不同),但磚網站計算器為每個支持的雲提供商(AWS|Azure|GCP)。

將DBU使用金額,你需要DBU的集群,以及工作負載類型,各自的DBU生成(例自動工作,通用計算,δ生活表,SQL計算,Serverless計算)和訂閱計劃層(標準版和高級Azure和質量;AWS的標準、溢價和企業)。例如,一個企業數據磚工作區工作DBU列表速度20美分/ DBU在AWS上。與類型實例運行在3 DBU /小時,4節點工作集群將收取2.40美元($ 0.2 * 3 * 4)一個小時。DBU計算器可以用來計算總費用和價格列表總結了在一個特定於雲的矩陣包括SKU和層(AWS|Azure|GCP)。

由於成本計算通過使用計算資源,更特別的集群,它通過集群政策來管理數據磚工作區是至關重要的。下一節將討論如何不同屬性的集群政策可以限製DBU消費和有效地管理平台的成本。Beplay体育安卓版本本部分還將回顧一些底層的雲成本考慮,以及如何監視和計費數據磚使用。

通過集群政策管理成本

集群政策是什麼?

一個集群政策允許管理員控製的配置集可以在創建一個新的集群和這些政策可以分配給個人用戶或用戶組。默認情況下,所有用戶都有“允許無限製的集群創造”的權利在一個工作區。這個許可應該很少被使用,因為它允許用戶創建集群沒有任何限製之外的分配政策可能導致非托管和成本失控。

在策略,管理員可以限製每個通過一個不變的配置設置固定值更寬容的範圍的值正則表達式,或者一個完全開放的默認值。政策有效地限製的DBUs量可以通過限製使用單個集群從更細粒度的設置如VM實例類型更多的高水平的“合成”屬性,如最大允許DBUs每小時或集群工作負載類型。

盡管最初一眼看上去似乎更加嚴格的集群導致更低的成本,這並非總是如此。非常嚴格的政策導致集群不能及時完成任務導致更高的成本從長期運行的工作。因此必須采取的用例驅動的方法製定集群政策給團隊足夠的計算能力為他們的工作負載。幫助,磚提供性能優化特性,比如Apache火花(™)運行時,最明顯光子引擎通過更快的處理時間,從而節約成本。在後麵一節中我們將討論政策運行時首先我們先從政策管理水平擴展。

節點數限製,自動伸縮,auto-termination

麵對共同關心的問候來計算成本是充分利用集群或閑置。磚提供伸縮和auto-termination動態特性來緩解這些擔憂,沒有直接的用戶幹預。這些特性可以通過政策執行不妨礙用戶可用的計算資源。

節點數限製和伸縮

政策執行,集群伸縮特性可以使一組最小數量的工人節點。例如,下麵的一個將確保伸縮等政策,允許一個用戶使用一個集群節點多達10個工人,但隻有當他們需要:

“autoscale.max_workers”:{“類型”:“範圍”,“價值”:10,“defaultValue”:5},“autoscale.min_workers”:{“類型”:“固定”,“價值”:1}

由於執法的類型是“範圍”的最大數量的工人,它可以改變一個值低於10在創造。然而,最低工人數是由“固定”的價值總是讓集群規模降至隻有一名工人被充分利用,確保節省計算成本。一個額外的字段所示”defaultValue”,顧名思義,設置一個默認值的最大數量的工人設置的集群配置頁麵。這有助於減少馬克斯工人在一個集群在默認情況下,創造者必須故意允許集群規模多達10個節點。

理解用例在創建和分配政策是至關重要的關於限製節點數和伸縮是否應該執行。例如,執行自動伸縮適用於:

  • 共享通用計算集群:一個團隊可以共享一個集群特殊分析和實驗工作或機器學習工作負載。
  • 與不同複雜性執行長時間運行的批處理作業:工作可以利用自動伸縮,集群規模所需的資源。

使用伸縮不應注意工作時間敏感的擴展的集群可以推遲完成由於節點啟動時間。幫助緩解這個問題,使用一個實例池隻要有可能。

標準流負載沒有曆史上能夠受益於自動定量;他們隻會規模最大的節點數和在那裏呆的時間工作。更多的生產級準備選擇團隊的工作是利用在這些類型的工作負載三角洲生活表增強自動伸縮(DLT工作負載可以執行“cluster_type”政策在這個博客稍後討論)。盡管DLT正在開發與流媒體工作負載,它同樣適用於批處理管道利用Trigger.AvailableNow選項允許目標表的增量更新。

另一個常見的配置集群規模的政策是單一節點的政策。單節點集群可以是有用的新用戶想要探索這個平台,利用數據科學團隊運作毫升庫Beplay体育安卓版本以及任何用戶需要做的輕量級的探索性數據分析。的布局單節點集群政策的例子、政策可以限製利用一個特定的實例池。因此,團隊分配給這個政策將對單節點集群的數量限製,他們可以創建基於池的最大容量設置。

Auto-termination

另一個屬性可以設置,當創建一個集群內磚平台auto-termination時間,關閉一個集群在設置時間的空閑時間。Beplay体育安卓版本空閑時間是由缺乏集群上的任何類型的活動,如火花工作,結構化流或JDBC調用。活動不被認為是活動在集群上創建一個SSH連接到集群和運行bash命令。

最常見的auto-termination窗口一個小時。作為一個例子,這是策略集以固定一個小時窗口:

“autotermination_minutes”:{“類型”:“固定”,“價值”:60,“隱藏”:真正的}

在這個例子中,“隱藏”屬性也添加到這個控製隱藏小部件從用戶的集群配置頁麵。這個屬性隻適用於通用集群工作和DLT集群將自動關閉當分配給它的所有任務完成。

集群運行時和光子

運行時在磚性能優化的一個重要組成部分;beplay体育app下载地址客戶經常看到一個自動的好處在切換到集群中運行一個新的運行時沒有其他更改配置。使集群的管理政策,教育集群創作者的影響運行一個新的運行時節省成本的是有價值的。當用戶移動到新的運行時,老運行時可以通過政策淘汰和限製。對於一個簡單的例子,這是屬性“spark_version”,限製用戶隻有DB運行時版本11.0或11.1。

“spark_version”:{“類型”:“allowlist”,“價值觀”:【“11.1.x-scala2.12”,“11.0.x-scala2.12”]}

然而,這一政策可以更靈活的,允許其他版本,ML運行時,光子運行時,或GPU運行時通過擴大允許列表或使用正則表達式。

其他運行時功能時需要考慮性能優化,以減少成本是使用我們的矢量化光子引擎。光子將智能加速的部分工作負載通過矢量化引發引擎的客戶看到一個3 x 8 x增加性能。beplay体育app下载地址性能的大量增加導致更快的工作,從而降低總成本。

雲實例類型和實例

在創建集群的過程中,虛擬機實例類型可以選擇對司機單獨節點和工作節點。可用的實例類型各有不同的計算DBU率和磚定價評估頁麵上可以找到每個各自的雲(AWS,Azure,GCP)。例如,在AWS m4。大型實例類型有兩個核心和8 GB的內存消耗每小時0.4 DBUs而m4.16xlarge實例類型64核和256 GB的內存消耗每小時12 DBUs通用計算模式。這樣大範圍的DBU使用計算資源之間通過政策限製這個屬性是至關重要的。

雲實例類型最方便的可以控製的“allowlist”類型或“固定”類型隻允許使用一種類型的實例。下麵的例子顯示了屬性“node_type_id”設置一個可用的工人政策節點類型為用戶在“driver_node_type_id”設置一個政策司機節點類型。

“node_type_id”:{“類型”:“allowlist”,“價值觀”:【“i3.xlarge”,“i3.2xlarge”,“i3.4xlarge”),“defaultValue”:“i3.2xlarge”},“driver_node_type_id”:{“類型”:“固定”,“價值”:“i3.2xlarge”}

作為管理員創建這些政策,重要的是要了解工作負載類型的每個團隊運行並適當地分配正確的政策。工作負載和少量的數據應該隻需要較低的內存實例類型,同時培訓深入學習模型最受益於GPU集群,通常消耗更多DBUs。最終限製實例類型可以是一個平衡。當一個團隊必須運行工作負載需要更多的資源比由於政策限製,這項工作需要更長的時間來完成,因此推高成本。有一些最佳實踐跟隨在配置集群定義工作負載。例如,垂直擴展(使用更強大的實例類型)在橫向擴展(添加更多的節點)建議對複雜工作負載組成的大量廣泛的轉換要求數據洗牌。說完這些,缺乏經驗的團隊應該分配政策限製不必要的小實例類型更常見的強大vm不會提供太多好處少複雜的工作負載。

磚的一個相對較新的成本節約能力平台使用的能力Beplay体育安卓版本AWS重子啟用虛擬機是建立在Arm64指令集架構。基於AWS除了提供的研究基準測試運行使用光子與磚,這些引力子啟用實例有一些可用的最佳價格性能比在AWS EC2實例類型集。

現貨實例

磚提供了另一個配置,可以節省成本的具體底層虛擬機計算成本與現貨實例(通過磚豐富選擇使用搶占式實例類似於現貨實例)。現貨實例是底層的雲提供商提供的備用vm在現場招標市場。這些實例可以大幅折扣,有時提供90%減少實例計算成本。貿易與現貨實例就是他們可以在任何時候被底層雲提供商與一段短時間內(2分鍾AWS, 30秒Azure和GCP)。

如果使用AWS,集群政策可以定義包括現貨實例一樣的使用:

“aws_attributes.first_on_demand”:{“類型”:“固定”,“價值”:1},“aws_attributes.availability”:{“類型”:“固定”,“價值”:“SPOT_WITH_FALLBACK”}

在Azure上:

“azure_attributes.first_on_demand”:{“類型”:“固定”,“價值”:1},“azure_attributes.availability”:{“類型”:“固定”,“價值”:“SPOT_WITH_FALLBACK_AZURE”}

在這些例子中,隻有一個節點(特別是司機節點)時可以按需實例集群中的所有其他節點將在初始點實例創建集群。這裏啟用後備選項,按需實例將要求取代現貨實例被要求回雲提供商。目前雖然GCP政策不能執行“first_on_demand”屬性,搶占式節點仍然可以執行如下:

gcp_attributes。可用性:{“類型”:“固定”,“價值”:“PREEMPTIBLE_WITH_FALLBACK_GCP”}

默認情況下,隻有司機在集群節點將使用一個隨需應變的實例啟動時啟用搶占的實例。

運行時的容錯處理等實驗工作負載特別的查詢可靠性和持續時間的工作量不優先,現貨實例可以提供一種簡單的方法來降低成本實例。因此,最適合現場實例發展暫存環境。

現貨實例驅逐利率和價格可以不同的t恤尺寸和雲區域。因此,規劃最優集群配置可以輔助工具等從各自的雲提供商AWS現貨實例顧問,Azure現貨價格和曆史在Azure門戶,或穀歌雲定價計算器

注意,Azure有額外的成本控製杆:保留的實例可以使用磚,提供另一個(可能陡峭)折扣不增加不穩定。

集群標簽

觀察資源的能力被啟用的研究小組利用集群標簽。這些標簽傳播到雲提供商的水平,以便使用和成本可以從磚是由兩個平台以及底層雲成本。Beplay体育安卓版本然而,沒有一個集群政策,用戶創建一個集群不需要指定任何標簽。因此,當管理員創建一個請求訪問的政策團隊磚平台,這是至關重要的政策包括集群標簽執行特定的團隊會分配政策。Beplay体育安卓版本

這裏是一個例子與自定義成本中心標記創建一個政策的實施:

{“custom_tags.cost_center”:{“類型”:“allowlist”,“價值觀”:【“9999”,“9921”,“9531”]}}

一旦一個標簽來識別團隊使用集群分配,管理員可以分析使用日誌回領帶DBUs和成本產生回團隊利用集群。這些標簽也會傳播到VM使用水平,這樣雲提供者實例成本也可以認為團隊或成本中心。選擇監測使用日誌下麵一節中討論。

一個重要的區別對於集群標簽池是,隻有在使用集群集群池標簽(而不是集群標簽)傳播到潛在的VM實例。創建集群池是不受限製的集群政策,因此管理員應與適當的標簽創建集群池分配使用權限之前一個團隊。團隊可以獲得通過策略附加到各自的池在創建他們的集群。這將確保與團隊相關的標簽使用池傳播到VM實例級計費。

政策虛擬屬性

外的設置在集群配置頁麵,也有“虛擬”屬性,可以限製政策。特別是兩個屬性可以在這個類別dbus_per_hour”和“cluster_type”

與“dbus_per_hour”屬性,創造者的集群可以有一些配置的靈活性,隻要DBU使用低於設置限製提供的政策。這個屬性本身並不限製成本歸因於底層VM實例直接像之前討論屬性(盡管DBU利率往往與VM實例利率)。這是一個策略定義的例子限製用戶創建集群,使用小於每小時10 DBUs:

“dbus_per_hour”:{“類型”:“範圍”,“執行”:10}

可用的其他虛擬屬性是“cluster_type”可用於限製用戶從不同類型的集群。允許通過該屬性的類型是“通用的”,“工作”,“dlt”指的最後一個三角洲生活表。這裏有一個使用該策略的例子:

“cluster_type”:{“類型”:“固定”,“價值”:“工作”}

集群類型的限製尤為寶貴的在處理不同的團隊在開發和部署的生命周期。的團隊致力於開發新的ETL或機器學習管道通常隻需要訪問一個通用集群而部署工程團隊將使用集群工作或δ生活表(DLT)。這些政策可以實施最佳實踐,確保正確的集群類型是用於開發和部署的每個特定階段生命周期。

一個常見的不良實踐是共享一個通用的集群部署的自動化工作負載。乍一看,這看似便宜的選擇,消費可以捆綁到一個集群。然而,這種類型的配置會導致資源爭用,延長的時間集群運行,增加計算成本。相反,使用集群工作孤立運行的一個工作減少了計算時間需要完成一係列的工作。這將導致更低的磚DBU的使用以及潛在的雲實例成本降低。更好的性能和更低的成本率每DBU工作集群提供導致戲劇性的成本節約。我們看到顧客已經拯救了beplay体育app下载地址成千上萬的美元,隻需移動剛從通用百分之十的工作負載集群就業集群。集群工作重用可以利用,確保及時完成一係列工作通過刪除每個任務之間的集群啟動時間。

製定政策,允許團隊創建集群的負載有一些最佳實踐跟隨。一些典型的限製性政策模式是單節點集群,工作隻有集群,或伸縮通用集群團隊分享。的例子可以找到完整的政策在這裏

雲提供商成本

從磚消費的角度(DBUs),所有的費用都可以認為回到計算資源利用。然而,成本歸因於底層雲的網絡和存儲也應該被考慮。

存儲

使用像磚平台的優勢是,它能夠無縫地使用相對廉價的雲Beplay体育安卓版本存儲,比如ADLS Gen2 Azure, S3 AWS,或GCS豐富。使用三角洲湖格式時這一點尤為有利,因為它提供了一個數據治理,否則難以管理存儲層以及與磚一起使用時性能優化。

一個常見的mis-optimization在存儲時,忽略盡可能使用生命周期管理;在最近的一個案例中,我們觀察到一個客戶S3 bucket ~ 2.5 pb,其中隻有大約800結核病是真實的數據。剩餘的1.7 pb版本數據提供任何價值。雖然老舊對象的雲存儲是一個一般的最佳實踐,重要的是要使這與δ真空循環。如果你存儲生命周期年齡對象之前,他們可以用吸塵器清掃三角洲,表可能打破;一定要測試任何生命周期之前非生產數據實施更廣泛的政策。一個例子政策看起來像這樣:

圖2:一個存儲生命周期策略”src=
圖2:一個存儲生命周期策略

注意,非標準的存儲層,如冰川在S3或者存檔ADLS磚不支持,所以一定要使用真空層之前。

網絡

數據中使用磚平台可以來自各種不同的來源,從數據倉庫就像卡夫卡流媒Beplay体育安卓版本體係統。然而,最常見的帶寬應用者如S3或ADLS寫入存儲層。降低網絡成本,磚工作區應該部署的目標之間傳輸的數據量最小化區域和可用性區域。這包括部署在同一地區的大多數數據在可能的情況下,必要時,可能包括發射區域工作區。

當使用AWS customer-managed VPC磚的工作空間,可以減少利用網絡成本VPC端點允許VPC之間的連通性和AWS服務沒有一個互聯網網關或NAT設備。使用端點減少了從網絡流量費用,也使得連接更加安全。網關端點特別可用於連接到S3和DynamoDB接口端點時同樣可以用來降低成本的計算實例連接到磚控製飛機。這些端點都可以隻要工作空間使用安全集群連接

同樣在Azure上,私人鏈接或服務端點可以配置為磚與ADLS減少NAT等服務費用。豐富,可以利用私人穀歌訪問(PGA)所以,穀歌雲存儲之間的交通(GCS)和穀歌容器注冊(GCR)使用穀歌的內部網絡而不是公共網絡,因此也繞過NAT設備的使用。

Serverless計算

對於分析工作負載,考慮的一個選項是使用SQL倉庫Serverless選擇啟用。Serverless SQL,磚平台管理的計算實例,就可以分配給一個用戶Beplay体育安卓版本負載時啟動。因此底層實例的成本完全由磚而不是兩個獨立的管理費用(即DBU計算成本和底層雲計算成本)。

圖3:比較傳統SQL端點之間的成本分析和Serverless SQL”src=
圖3:比較傳統SQL端點之間的成本分析和Serverless SQL

Serverless導致成本優勢通過提供即時計算資源執行一個查詢時,減少閑置成本的充分利用集群。同樣,serverless允許更精確的自動伸縮,這樣工作量就可以有效地完成,因此節省成本通過提高性能。盡管serverless選項是沒有直接的通過政策,管理員啟用的選項為所有用戶使用SQL創建倉庫權限。

監測使用

控製成本通過集群政策和工作部署配置,是同樣重要的管理員有能力監測成本。磚提供了一些選擇這樣做的能力基於使用分析自動化通知和提醒。具體來說,管理員可以使用磚賬戶控製台使用快速概述,為更細粒度的分析使用日誌視圖,並使用我們的新的預算API主動通知當超出預算。

使用帳戶控製台

與賬戶控製台包括磚企業2.0的架構使用頁麵提供管理員的能力使用視覺DBU或金額。圖表可以顯示的消費聚合視圖分組,工作空間,或分組sku。當按sku分組使用集群工作所示,所有目的集群,或SQL計算為例。如果圖分割的空間,會有一組顯示為9個工作區頂部DBU消費與最後一個分組結合其他工作區。了解更細粒度的單獨的細節,每一個空間,一個表可以發現底部的頁麵,這個頁麵列出每個工作區分別隨著DBU SKU / $美元金額。這個頁麵是適合管理員使用和成本的全麵視圖所有的工作區在一個帳戶。

磚是第一方服務在Azure平台上Beplay体育安卓版本Azure成本管理工具可以杠杆來監視磚使用在Azure(連同所有其他服務)。不同的賬戶控製台磚部署AWS和GCP Azure的監視功能提供數據粒度級別的標簽。自定義標記在Azure不僅可以創建集群級別也在空間層麵上。這些標簽將顯示為團體和過濾器在分析使用的數據。在這些報告中,使用由磚計算將顯示與底層實例使用方便在相同的觀點。日誌也可以交付給一個存儲容器安排和使用自動化分析和警報,在下一節中解釋。

管理員可以選擇下載使用手動從賬戶控製台日誌使用頁麵賬戶API。然而,一個更有效的過程分析這些使用日誌是配置自動日誌交付雲存儲(AWS,GCP)。這導致每天CSV包含每個工作空間的使用細粒度的模式

一旦使用日誌交付已經配置的三個雲,常用的最佳實踐是創建一個數據管道磚內,每日攝取這些數據並將其保存到一個增量表使用一個預定的工作流程。這些數據可以被用於使用情況分析或觸發警報通知管理員或團隊領導負責成本中心花當消費達到設定閾值。

預算API

一個即將到來的特性來簡化數據磚計算成本預算是新的預算端點賬戶內(目前在私人預覽)API。這將允許任何人使用磚工作區得到通知一次預算閾值在任何自定義時間段過濾到工作區,SKU,或集群標記。因此,預算可以配置任何工作區,成本中心,或團隊通過這個API。

總結

雖然磚Lakehouse平台跨越了許多用例和用戶角色,我們的目標是提Beplay体育安卓版本供一套統一的工具,幫助管理員平衡成本控製與用戶體驗。在這個博客,我們提出了一些策略方法這種平衡:

  1. 使用集群政策來控製哪些用戶能夠創建集群,以及這些集群的規模和範圍
  2. 設計你的環境來最小化non-DBU磚工作區所產生的成本,如存儲和網絡成本
  3. 使用監控工具來確保你的期望滿足成本和有效的實踐

看看我們本文中其他admin-focused博客鏈接,並留意額外博客即將到來。也要嚐試新的特性,比如私人鏈接(AWS|Azure),預算!

免費試著磚

相關的帖子

看到所有Beplay体育安卓版本平台的博客的帖子