AnalyticDB for MySQL集群在数据库系统中提供了工作负载管理模块,通过工作负载管对工作负载的控制,可以提高集群的整体运行状态,满足集群更精细化控制的目的。
前提条件
AnalyticDB for MySQL集群需要同时满足以下条件:
集群系列需为数仓版。
集群的内核版本需为3.1.6.3及以上版本。
说明查看湖仓版集群的内核版本,请参见如何查看实例版本信息。如需升级内核版本,请联系技术支持。
背景说明
当前的OLAP数据库中执行着多种不同类型的工作负载,这些负载既有逻辑简单的小查询,这种工作负载的特点是资源消耗低,执行时间短,但是对整体服务端的响应时间要求高;同时也有计算过程非常复杂的大查询,这种查询非常复杂,资源消耗高,执行时间长。不同类型的工作负载,有着不同的性能诉求。而在数据库内部,同时执行的查询之间共享着数据库系统的CPU、内存和磁盘IO等资源,某些分析型的查询如Business Intelligence(BI)消耗着巨大的系统资源,如果对工作负载的执行不加以限制,数据库系统中并发执行的其他查询需要等待它将资源释放后才能执行,影响数据库系统的整体性能表现。
为了解决上述问题,AnalyticDB for MySQL在数据库系统中设计了工作负载管理模块,通过工作负载管理模块对工作负载的控制,可以提高集群的整体执行状态,满足集群更精细化控制的目的。
基本概念
- 工作负载(Workload):在数据库中具有一些共同特征的查询请求可以被抽象为一类工作负载。例如,可以根据查询的请求源、业务优先级或性能目标等不同属性将查询划分为不同的工作负载。
- 工作负载管理(Workload Manager):数据仓库的核心组件之一。运用多种手段对数据库的查询负载进行监控和管理,从而保障系统在稳定性的基础上,尽可能满足查询的性能指标并充分利用系统资源。
- 谓词条件(Predicate):包含一个属性(Property)、一个运算符(Operator)和一个值。通过一个谓词条件,可以对查询的某个属性维度做出限制;多个维度的谓词条件连用,过滤出同一类查询,可以被当作同一个负载对待。属性和运算符的说明,请参见属性和运算符。
- 控制手段(Action):查询级别的控制手段,包括结束查询(KILL)和记录查询(LOG)等等。不同的Action代表着对查询的不同控制操作。控制手段的说明,请参见控制手段。
- 规则(Rule):一条规则可以包含多个谓词条件(Predicate)和控制手段(Action)。工作负载管理通过规则来管理系统负载,每一条规则都代表对一类工作负载的管理。
工作负载管理规则
AnalyticDB for MySQL的工作负载管理基于一个简单的规则体系构建。一条规则由条件约束部分和控制部分组成,代表着对一种工作负载(一类查询)的控制。条件约束部分由一个或多个谓词条件组成,满足所有谓词条件的查询是一种工作负载(即一类查询)。控制部分则由一个或多个控制手段组成,代表着对这一类工作负载将会实施的控制手段。
您可以设置自身需要的规则,并通过多个规则实现对不同负载的精细化控制。配置工作负载管理规则,请参见配置工作负载管理规则。