GaussDB(DWS)是一款具备分析及混合负载能力的分布式数据库,支持x86和Kunpeng硬件架构,支持行存储与列存储,提供GB~PB级数据分析能力、多模分析和实时处理能力,用于数据仓库、数据集市、实时分析、实时决策和混合负载等场景,广泛应用于汽车、制造、零售、物流、互联网、金融、政府、电信等行业分析决策系统。
相关使用文档地址:https://support.huaweicloud.com/mgtg-dws/dws_01_0018.html

本文主要介绍的内容如下:
1、数据库多用户间的资源隔离
通过资源隔离达成多用户间执行业务不干扰
2、集群的负载控制
资源(CPU、内存、空间、并发)可控,保证集群不过载








集群磁盘空间管控
用户空间管控
schema空间管控
单DN单SQL空间管控
| 类型 | 说明 |
|---|---|
| blocktime | 作业的阻塞时间,单位为秒。包括全局并发排队以及局部并发排队的总时间。 |
| elapsedtime | 已经被GaussDB(DWS)执行的作业,从开始执行到当前所消耗的时间,单位为秒。 |
| allcputime | 作业在所有datanode上执行时所耗费的cpu总时间,单位为秒。 |
| cpuskewpercent | 作业在datanode上执行时的cpu时间的倾斜率,有效范围为1~100。cpuskewpercent的分析依赖于qualificationtime设置。 |
| spillsize | 作业在DN上下盘数据量,单位MB |
| broadcastsize | 作业在DN上大表广播数据量,单位MB |
| mem_limit | 作业在DN上使用内存量,支持设置KB、MB、GB |
异常动作:


1、创建测试用户
create user report_user password 'report_user_12#$'
create user budget_user passwod 'budget_use_12#$'
2、用户队列绑定

3、模拟耗时队列
select pg sleep()
create table test (id int primary KEY,content text);
CREATE FUNCTION gen_test_data() RETURNS BOOLEAN
AS
$BODY$
DECLARE iINTEGER;
BEGIN
i=1;
FOR iin 0..200000 LOOP
INSERT INTO test VALUES (i,'abcdefghijkabcdefghijksafwr23498vj..');
END LOOP;
RETURN TRUE;
END;
$BODY$
LANGUAGE plpgsql;
select gen_test_data();
工作负载计划用于自动化的、周期性的对工作负载队列中的资源进行变更,以便实现灵活的负载管理,适应不同的业务需求;以queue_simple和queue_complex为例,每天的0:00-06:00之间交易量大大降低,开始进行批量分析,此时需要重新配置队列的资源占比。


对于有多套集群或者有镜像测试环境的集群,可以在在一套集群中进行配置和测试后将配置导出,然后再导入生产集群或其他集群使用

GaussDB(DWS)存储资源管理上还提供了Schema级别的空间管控能力,一方面可以实现单实例上的空间管控,避免数据库只读和磁盘满的情况出现;另一方面将空间管控和用户、队列解耦,实现了空间管控和权限的分离,降低用户使用空间管控的难度。
当一个Schema存在空间限制时,在业务执行过程中,如果该Schema下的表数据之和超过空间限制,则会导致业务报错"out of schemas' perm space limit"。



本文讲解GaussDB(DWS)云数仓主要有四部分:GaussDB(DWS)工作负载管理介绍、GaussDB(DWS)工作负载队列介绍与使用、GaussDB(DWS)工作负载计划介绍与使用、GaussDB(DWS)模式空间管理介绍与使用。
在使用GaussDB(DWS)云数仓之前需要了解sql语法和消息队列,并发等知识点。
GaussDB(DWS)实时数仓的特点主要有:
GaussDB(DWS)的形态主要有:
本文整理自华为云社区【内容共创】活动第19期。
查看活动详情:https://bbs.huaweicloud.com/blogs/370132
相关任务详情:任务16.送一套环境,教您掌握工作负载管理,玩转云数仓