企業版和湖倉版資源組
云原生數據倉庫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參數指定資源組。 |