数据仓库之资源管理——全景图及解决场景
数据仓库之资源管理——全景图及解决场景
1. 前言
- 适用版本:【DWS8.2.1及以上版本】
资源管理功能概述及全景介绍。
2. DWS资源管理概述
在实际的业务场景中,使用DWS的客户可能会同时使用多个用户同时运行查询作业,这其中有些查询可能会非常复杂,此时如果对数据库资源未做控制,这些复杂作业的查询容易占用大部分的集群资源并长时间运行,从而影响其他查询的性能,使其不得不等待那些复杂作业执行完成。通过配置DWS资源管理,实现资源在可控的情况下被合理利用和分配,避免出现资源的无序使用,防止数据库系统性能变慢、停止响应。
其实在上述场景中,我们完全可以对这些执行复杂作业的用户进行分组,对这些用户进行合理的资源限制,使在可接受的执行时间范围内使用一定的资源执行这些复杂查询,同时划分出部分资源给那些查询消耗没那么大的用户,这样在部分用户执行复杂作业的同时,另一部分用户的作业也不会受到太大影响。
这就是DWS资源管理多资源池管控的思想模型,客户可以根据自己的业务特点预先创建好多个资源池,对每个资源池配置好可以使用的资源上限,然后为每种业务创建好数据库用户并关联到对应的资源池中,这样每次这些不同的用户在提交作业的时候都会被分配到对应的资源池中,只能使用该资源池中拥有的资源执行作业,资源池资源不足时,该查询将在该资源池中排队等待执行,各个资源池之间资源各自隔离,各不冲突,这样当一些数据库用户在自己资源池中执行一些非常耗时的查询作业时,其他用户在各自的资源处同时在执行一些简单或者有自己业务特点的作业,这些作业互不干扰。
资源管理功能以资源池为资源承载点,目前可以配置资源池的CPU时间片占比、内存占比、并发(复杂查询并发数)以及磁盘空间大小(永久表空间)等资源。
CPU资源配比为资源池可使用的最小时间片占比,当某个资源池A的CPU负载超限并且有某个资源池B恰好空闲时,资源池A可以暂时使用空闲资源池B的CPU资源,但是一旦空闲资源池B开始对CPU资源有诉求时,将会收回“出借”给资源池A的CPU资源。这种CPU控制方式我们称之为CPU共享配额控制,即可以保证至少有配比的资源可用。另外一种方式,限制资源池使用的CPU核数上限,无论CPU系统繁忙或者空闲,该资源池上的作业都无法突破该限额配置。这种CPU控制方式我们称之为CPU专属限额控制。共享配额和专属限额的管理方式各有优劣,共享配额的管理方式可以实现CPU资源的充分利用,但是资源池之间隔离不彻底,可能影响查询性能;专属限额的管理方式可以实现CPU资源的绝对隔离,但是在资源池CPU资源空闲时,会造成资源的浪费。
DWS在创建集群时会根据集群中的节点规格为每个DN计算好可用的内存大小max_process_memory,DN在启动时会一次性申请max_process_memory大小的内存,DWS会在此基础上,根据每个资源池的内存配比,对作业使用的内存进行限制。队列中所有数据库用户共享队列内存,并且执行作业可消耗的内存资源不超过队列的内存配比。
DWS目前只支持永久表空间的存储资源限制,资源池中所有数据库用户共享资源池的存储资源,并且可使用的永久表空间大小不超过资源池配置的存储资源大小。
资源池的并发数指的是资源池内多有数据库用户可同时执行的作业数,作业数达到并发数限制之后,再提交的作业会在资源池中排队等待执行。
3. DWS资源管理页面介绍
3.1 页面概述
DWS资源管理页面主要包括资源管理配置区域、资源池区域、资源管理计划区域和schema空间管理区域。
资源管理配置用来管理资源池功能的全局配置,包括资源管理配置开关和全局最大并发数的配置(每个CN的最大并发数)。
3.2 资源池
资源池区域显示所有已创建的资源池列表信息,包括配置信息、异常规则列表和关联的用户,可以在这里添加资源池、编辑资源池配置、异常规则和绑定用户。
添加一个资源池并配置相应的资源
修改一个资源池资源配比
编辑异常规则
向资源池中添加数据库用户,以限制该用户执行作业时消耗的资源占比
3.3 资源管理计划
资源管理计划功能是GaussDB(DWS) 为客户提供的资源管理高级特性,客户可以通过创建资源管理计划,向计划中添加多个时间阶段,并为每个阶段配置不同的资源配比。当启动计划时,计划就会按照配置在不同的时间段自动切换资源配置。如果客户在不同的时间段运行不同的业务,而这些业务又会占用不同比重的资源,使用资源管理计划功能可以很好的帮助客户实现不同时间段的资源配置自动切换。
添加资源管理计划
添加阶段,选择资源池和配置计划阶段信息
3.4 schema空间管理
存储资源无节制的使用可能导致磁盘满,进而导致集群异常、业务中断。磁盘满问题具有业务恢复难度大、恢复时间长的特点,通过引入数据库只读,极大概率降低了磁盘满问题的发生,但是数据库只读同样会导致业务中断,影响业务连续性。为解决数据库只读问题,GaussDB(DWS)提供了多维度的存储资源管理能力,一方面在schema维度实现了schema空间管理,用于限制schema使用的永久空间大小;一方面在用户维度实现了永久空间、临时空间和算子空间管理,防止单用户业务异常导致数据库只读。
可操作修改空间限额
4. 总结
以上为资源管理的全部内容,资源管理可以极大的解决用户作业资源的分配问题,提升用户作业的执行效率。
以上就是DWS资源管理的基本使用场景介绍以及基础功能概览,后续我们会陆续推出对CPU、内存、并发、磁盘等单项资源管控机制深度解密的系列博文,敬请关注。
- 点赞
- 收藏
- 关注作者
评论(0)