一、资源管理能力
1.1 概述
数据库运行过程中使用的公共资源包含:系统资源(CPU、内存、网络等)和数据库共享资源(锁、计数等)。作业运行过程中总是希望获得更多的公共资源,以获得最好的执行性能。但是公共资源的滥用可能导致数据库系统的不稳定,引发资源过载,影响高优业务的QoS(服务质量),甚至阻塞业务运行。因此,合理地管理和分配系统资源,是保证数据库系统稳定高效运行的关键。
资源管理的目标:
- 防止资源过载,引发系统级故障;
- 实现高优业务的优先调度,保证高优业务QoS;
- 实现业务之间的资源隔离,防止业务之间资源争抢严重;
- 实现业务的错峰分时调度,防止瞬时高并发影响系统稳定性;
- 快速识别异常查询,保证正常业务稳定运行。
1.2 基本原理
资源池是一种用于对系统资源进行划分的技术,通过为资源池设置资源上限的方式,实现对其内运行作业的资源管控。资源池可以帮助系统管理员更好地管理和分配系统资源,提高系统的可用性和稳定性。
GaussDB(DWS)提供了资源管理功能,借助资源池实现业务之间的资源隔离和查询调度(不同业务路由至不同资源池)。GaussDB(DWS)支持两种路由策略:
- 用户-资源池:将用户关联至资源池,用户执行作业时,根据“用户-资源池”的关联关系,将作业路由至对应资源池执行。
- query_band负载识别:业务设置query_band(USERSET参数&