雲原生資料倉儲AnalyticDB MySQL版支援將計算資源在物理上劃分為多個資源群組。每個資源群組擁有獨立的CPU、記憶體、查詢隊列、任務類型和配置參數。不同資源群組的計算資源完全隔離,不僅可以保障核心業務不受複雜計算和突髮狀況影響,還能合理分配資源使叢集效能達到最大化,滿足叢集內部多租戶和混合負載的需求。本文介紹湖倉版資源群組的類型和應用情境。
每個叢集都有一個預設資源群組USER_DEFAULT
。在沒有其他資源群組的情況下,所有查詢都由預設資源群組執行。
資源群組有什麼作用
隔離不同查詢的計算資源:不同使用者或應用的查詢可能對計算資源的需求不同。您可以將不同查詢投遞到不同的資源群組實現不同查詢的計算資源隔離,確保對延遲敏感的互動式任務不受執行耗時間長度、資源消耗大的批處理任務的影響。詳情請參見如何使用指定資源群組的資源執行查詢。
具有離線批處理的業務需求:預設資源群組適用於互動式線上分析。如果您有離線批處理的需求,希望離線批處理不影響線上分析的響應速度,可以建立Job型資源群組專門用於離線批處理。詳情請參見建立和管理資源群組。
實現資源的定時或自動彈性:如果業務具有規律的波峰波穀時,您可以配置彈性計劃,定時自動增加或減少資源群組的資源。詳情請參見資源彈性擴縮容。
您也可以設定最大和最小的可用資源。資源群組的資源量,將根據業務負載,在您設定的範圍內自動彈性擴縮容。詳情請參見Interactive資源群組Multi-Cluster彈性模型和配置Job型資源群組的計算最大資源和最小資源。
查詢的優先順序調度:每個資源群組擁有獨立的查詢優先順序隊列,允許您控制哪些查詢優先執行。詳情請參見Interactive型資源群組的優先順序隊列與並發和Job型資源群組的優先順序隊列。
管理工作負載:基於資源群組,控制工作負載。例如,當查詢執行耗時超過閾值時,將該查詢投遞到其他資源群組重新執行,避免阻塞該資源群組的其他查詢。詳情請參見工作負載管理。
如何使用指定資源群組的資源執行查詢
每個叢集都有一個預設資源群組USER_DEFAULT
。在沒有其他資源群組的情況下,所有查詢都由預設資源群組執行。如果您有查詢的資源隔離需求,可以建立資源群組,並指定不同類型的查詢使用不同的資源群組。
下文列舉了不同方式提交XIHE SQL、Spark SQL或Spark應用時指定資源群組的方法。
通過JDBC提交SQL | 通過以下三種方式指定執行查詢的資源群組。
資源群組生效的優先順序從高到低依次為Hint方式、綁定資源群組、預設資源群組。 |
通過作業開發頁面提交Spark SQL或Spark應用 | 通過控制台作業開發頁面手動選擇資源群組。 此時無法通過Hint、綁定資源群組的方式指定資源群組。 |
通過Spark-Submit工具、Notebook、SDK提交Spark應用 |
|
通過OpenAPI提交Spark應用 | 通過SubmitSparkApp介面的ResourceGroupName參數指定資源群組。 |