概述
使用基于MaxCompute雲資料倉庫的企業,由于業務的差異,會建立多project進行資料隔離。同時也因為業務的差異,每個project需要跑的任務量、業務緊急程度等也有差異,是以不同project對計算資源的需求也不一緻。本文我們一起探讨如何通過MaxCompute管家實作MaxCompute包年包月的資源隔離。
背景資訊
- 預設預付費Quota:購買包年包月計算資源後,預設建立的配額組,該配額組不支援修改;更新或降配時,對應的CU量都在這個配額組中進行增減。
- 管家中支援建立配額組(自定義配額組),自定義的配額組裡預留CU的最小值和非預留CU的值将從預設配額組對應的值裡進行扣減。
- 所有配額組預留CU的最小值相加等于購買的預留CU量;所有配額組的非預留CU值相加等于購買的非預留CU量。
- 配額組中,預留CU的最小和最大值分别代表:
- 最小值:保障值。
- 最大值:可使用的最大值(最大可設定為購買的預留CU量)。當有多個配額組且配置了最小值<最大值是,一旦有配額組資源為空閑的時候,則可以占用。
>當有配額組最小值<最大值 時,說明配額組是有可能會搶占其他配額組空閑資源,是以會導緻所有配額組都是共享(目前賬号目前region範圍)資源組。
使用案例
需求背景
公司使用到MaxComput進行大資料開發、分析、挖掘的業務大緻為:數倉開發和生産、營運分析需求、算法挖掘。因而也建立了不同的project進行資料業務劃分,project業務特點如下:
- 數倉project,分開發和生産,且按數倉模型分層劃分project。
- 營運分析project,主要提供給業務部分進行日常資料分析取數,根據業務部分需求建不同部門專用project。
- 算法挖掘,分開發和生産,根據作業周期特點劃分project。
根據前期業務評估目前購買的計算資源為預留CU量1000CU,非預留CU量600CU。現在需要将這些計算資源合理的進行隔離配置設定,以便能最大化提升資源使用率。
資源劃分
資源劃分可參考幾個注意點:
- 高保障project主要配預留CU,非預留CU可作為加持資源。
- 預留CU最小值要根據實際配置避免濫用。
- 對于非高保障,優先級也不高但是會有可能請求大量資源的項目,對應配額組的最大值建議控制範圍,影響以免其他資源組資源。
- 平均占用資源時間較長的考慮隔離獨立配額組,同時最大值建議控制範圍。
- 對時效性要求不高,資源占用頻率高可以考慮非預留CU。
- 可根據實際情況結合 資源分時 功能。
- 因為預設配額組不可修改包括CU最大值,若不想讓某些項目發起的任務可能會占用所有的CU量,那麼可以考慮預設配額組不關聯項目。由于預設配額組預留CU最小值不能為0,則可以留1CU,然後其他配額組裡配置預留CU最小值<最大值,則其他配額組也依然能占用這1CU。
配額組設計如下:

綜上所述,因為考慮到業務特點,配額組的預留CU最大值都進行了限制,避免嚴重影響其他配額組的最低保障值。在MaxCompute管家上進行配額組設計管理時,按上述表格,預設配額組不能關聯項目,但預留CU最小值又必須大于0,可以選擇保留1CU,可以選擇上述數倉開發項目最小CU值減1。具體配置步驟如下:
- 先進行分時設定,把配額分為00:00:00-09:00:00、09:00:00-23:59:59 兩個時段。
- 再分别新增配額組,設定 數倉生産、數倉開發、營運、算法相關配額組。
- 最後分别将項目關聯對應的配額組,預設配額組不關聯項目。
總結
随着業務變化,配額組的劃分也會可能需要随之變化,是以有必要随時監控配額組的使用情況,以便及時對配額組進行調整。關于配額組監控,您可以通過雲監控的"MaxCompute-包年包月Quota組資源"名額進行監控,詳情請參考文檔
j監控告警。
另外,您還可以結合MaxCompute更多的資源管理功能如
包年包月項目任務使用按量付費資源、
包年包月項目任務優先級進行更精細的資源管理。