直播回顾 | 掌握把“烂”SQL牢牢关进笼子里的密钥

举报
华为云社区精选 发表于 2023/07/06 16:54:04 2023/07/06
【摘要】 混合负载场景下,怎样避免“烂”语句对数据库系统的冲击?如何在资源紧张的情况下,让高优先级的作业先行?本期《数仓过载不用愁,资源管理帮分忧》的主题直播中,我们邀请到华为云EI DTSE技术布道师周孟韬,针对GaussDB(DWS)资源管理机制与开发者和伙伴朋友们展开交流互动。通过5部分内容帮助开发者快速了解GaussDB(DWS) 资源管理机制,让数仓过载烦恼不再,把“烂”SQL牢牢关进笼子里...

混合负载场景下,怎样避免“烂”语句对数据库系统的冲击?如何在资源紧张的情况下,让高优先级的作业先行?本期《数仓过载不用愁,资源管理帮分忧》的主题直播中,我们邀请到华为云EI DTSE技术布道师周孟韬,针对GaussDB(DWS)资源管理机制与开发者和伙伴朋友们展开交流互动。通过5部分内容帮助开发者快速了解GaussDB(DWS) 资源管理机制,让数仓过载烦恼不再,把“烂”SQL牢牢关进笼子里。

资源池的并发管控介绍

基于华为云基础设施架构,GaussDB(DWS)提供标准数仓、实时数仓、IoT数仓3种形态,满足不同的业务诉求。在GaussDB(DWS)整体架构中,有4类资源管控,分别是:并发管控、算力管控、存储空间、资源池。

当前GaussDB(DWS)的并发支持三种管控模式:

1. global并发管控:

通过max_active_statements参数,约束当前集群支持的query并发上限

2. Simple语句并发数

某个资源池内简单语句的并发数上限

3. 复杂作业并发数

某个资源池内复杂语句的并发数上限

资源池的算力管控介绍

GaussDB(DWS)提供三种算力管控方式,分别是:内存管控、CPU管控和网络管控,本次主要介绍内存管控和CPU管控两种方式。

内存管控:GaussDB(DWS)为用户提供三种内存管控方式,用户可以根据业务需要,合理设置资源池级别的内存配比。

针对传统内存管理的弊端,GaussDB(DWS)设计实现了内存自适应技术,解除对work_mem的依赖,优化器依据统计信息对查询使用内存进行估算;执行器执行SQL过程中,如果使用内存超过估算内存即触发下盘;资源管理依据优化器估算的查询内存,对查询进行调度和管控。

CPU管控GaussDB(DWS)使用cgroup实现了两种cpu管控能力,基于cpu.shares的共享配额管控和基于cpuset的专属限额管控。通过这两种方式,可以灵活地满足用户对于CPU资源不同维度的划分方式。

当作业超过资源池最大并发数时会造成资源池排队,短时的排队属于正常现象,但长时间持续排队,资源使用率就会变低。比较常见的是CCN排队,通常造成CCN排队的,主要是语句的估算内存耗尽导致,因此对于高内存开销的语句,需要通过合理的并发进行管控。

资源池评估方法

    资源池的规划始终遵循由高到低来划分资源,优先配比高优先级,然后中优先级、最后低优先级;按照业务的SLA的要求,

高优先级满足峰值(无抖动、无排队);

中优先级均值满足(可抖动,不报错、不积压);

低优先级允许报错、超时;

可以根据TOPSql的UniqueSql_ID来进行归一化查询的资源汇总统计,分析不同业务的资源开销和并发诉求。

资源池高阶用法-query_band

资源池的传统用法是用户关联资源池,指定A用户进Resource_pool 1,B用户进Resource_pool 2,这样的归属方式要求我们对每一个业务归属非常清晰,实操难度大,会造成用户数无法控制的情况。因此我们还支持出另外一种资源池路由方式---query_band。用户发起的查询根据用户的执行参数先路由到query_band再路由到资源池,只需要识别query_band的key即可,不再关注作业对于用户的归属,降低资源池的规划难度。

资源池空间管控&算子下盘

    GaussDB(DWS)为MPP架构,每个DN使用率不能超过当前磁盘空间总容量的90%(单个DN达到阈值后,触发集群自我保护机制,也就是只读),因此我们需要尽可能避免数据倾斜,GaussDB(DWS)提供了单语句的空间管控(默认10%磁盘容量大小,单次插入超过10%,当前query会触发熔断),以及用户和Schema空间管控的能力,来很好的帮助用户规划自己的空间资源。

欢迎感兴趣的开发者观看直播回放,了解详细信息。更多关于GaussDB(DWS)产品技术解析、数仓产品新特性的介绍,请关注GaussDB(DWS)论坛,技术博文分享、直播安排将第一时间发布在GaussDB(DWS)论坛。

论坛链接:https://bbs.huaweicloud.com/forum/forum-598-1.html

直播回放链接:https://bbs.huaweicloud.com/live/DTT_live/202306281630.html


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。