数据仓库服务 GaussDB(DWS)-负载管理:技术原理

时间:2023-11-01 16:18:21

技术原理

负载管理分为静态负载管理和动态负载管理,使用参数enable_dynamic_workload控制,同时GaussDB提供优先级控制用于对租户作业优先级进行控制。

  • 静态负载管理

    以CN为单位实现租户的并发控制和资源管控,各CN分别进行内存管控和并发控制,集群实际并发数为各CN并发之和,集群实际使用内存为各CN运行作业所占内存之和。因为各CN分别进行内存管控,因此DN上租户实际使用内存有可能超过租户内存限制。

  • 动态负载管理

    增加CCN用于复杂作业并发控制和内存管控,各CN向CCN请求排队信息,CCN将租户运行作业估算内存累加得到各租户已用内存,租户可用内存不足时触发排队,租户作业运行结束后尝试唤醒本租户正在排队的作业;各租户已用内存之和累加得到集群已用内存,同时CCN定期收集DN上内存使用信息用于更新集群可用内存,可用内存不足以运行作业时触发排队,作业运行需同时满足租户内存限制和集群内存限制。

  • 优先级控制

    基于query_band可以实现多维度的负载识别和队列内优先级控制,一方面提供了更为灵活的负载识别手段,可根据作业类型、应用名称、脚本名称等识别负载队列,使用户根据业务场景可灵活配置query_band识别队列;另一方面实现了队列内作业下发优先级控制,后续将逐步实现队列内资源优先级控制。

support.huaweicloud.com/twp-dws/dws_11_0019.html