大數據

MaxCompute資源管理—— 包年包月資源組隔離

概述

使用基於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。

配額組設計如下:
image.png
image.png
綜上所述,因為考慮到業務特點,配額組的預留CU最大值都進行了限制,避免嚴重影響其他配額組的最低保障值。在MaxCompute管家上進行配額組設計管理時,按上述表格,默認配額組不能關聯項目,但預留CU最小值又必須大於0,可以選擇保留1CU,可以選擇上述數倉開發項目最小CU值減1。具體配置步驟如下:

  1. 先進行分時設置,把配額分為00:00:00-09:00:00、09:00:00-23:59:59 兩個時段。
  2. 再分別新增配額組,設置 數倉生產、數倉開發、運營、算法相關配額組。
  3. 最後分別將項目關聯對應的配額組,默認配額組不關聯項目。

總結

隨著業務變化,配額組的劃分也會可能需要隨之變化,所以有必要隨時監控配額組的使用情況,以便及時對配額組進行調整。關於配額組監控,您可以通過雲監控的"MaxCompute-包年包月Quota組資源"指標進行監控,詳情請參考文檔j監控告警
另外,您還可以結合MaxCompute更多的資源管理功能如包年包月項目任務使用按量付費資源包年包月項目任務優先級進行更精細的資源管理。

Leave a Reply

Your email address will not be published. Required fields are marked *