数据仓库服务 GAUSSDB(DWS)-管理运维计划:添加运维计划
添加运维计划
- 登录 GaussDB (DWS)管理控制台。
- 在集群列表中单击指定集群名称。
- 进入“集群详情”页面,切换至“智能运维”页签。
- 在运维详情部分切换至运维计划模块,单击“添加运维任务”按钮。
- 在弹出的添加运维任务边栏,进行运维任务的基础配置。
表1 运维任务基础配置项 配置项名称
配置项描述
样例
运维任务
Vacuum(目前仅支持Vacuum运维任务)。
Vacuum
任务简述
智能任务的简要描述。
该运维任务可帮助用户定期调用系统Vacuum命令,以实现空间回收。
备注
备注信息。
-
调度模式
支持以下三种调度模式:
- 自动:智能运维将在指定时间窗内扫描数据库,依据用户业务负载、用户表可回收空间,自动下发表级Vacuum任务。
- 指定目标:用户可选择指定Vacuum目标,智能运维将在指定时间窗内,自动下发表级Vacuum任务。
- 优先级模式:用户可配置优先Vacuum目标,若时间窗剩余,智能运维将自动扫描其他可Vacuum的表,并下发表级Vacuum任务。
说明:建议使用指定目标方式进行Vacuum和VacuumFull,同时不建议对列存宽表进行VacuumFull,以防止内存膨胀。
指定目标
自动Vacuum目标
支持:系统表Vacuum或用户表VacuumFull。
- 对于系统表Vacuum,会持有系统表五级锁(share update exclusive锁),不会阻塞用户业务,仅会阻塞系统表DDL进程。
- 对于用户表Vacuum Full,会持有系统表的八级锁(access exclusive锁),期间所有访问会被阻塞,并等待Vacuum Full结束,建议用户合理安排调度时间,在业务负载低峰期执行Vacuum Full操作,避免锁表影响业务。
注意:
Vacuum Full操作相当于开辟一块和表数据大小相同的空间(表真实数据大小约为表总大小* (1 – 脏页率)),因此表空间会先增后降,请提前计算好Vacuum Full所需要的空间再行处理。
用户表VacuumFull
优先Vacuum目标
用户可配置优先Vacuum目标,其中一行对应一张表,每张表以数据库名、模式名、表名表示,以空格进行分割。
-
高级配置
选择“自定义”时,可以设置Vacuum膨胀率和目标表可回收空间高级配置参数(满足其中一个条件即触发自动Vacuum),如果选择“默认配置”,将使用它们的默认值。
说明:Vacuum膨胀率:在数据库中频繁执行UPDATE、DELETE等操作后被删除或更新的行不会从表中物理删除,仅从数据库中被逻辑删除,在完成VACUUM之前这些过期数据仍然存储在磁盘中,从而导致表膨胀。当膨胀率达到运维任务中用户设置的百分比后,就会自动触发Vacuum。
默认配置(Vacuum膨胀率80%;目标表可回收空间100GB)
- 单击“下一步:定时配置”,进行运维任务的“定时配置”。
选择运维类型:
- 单次型任务:需要设置起止时间,智能运维将在设置的时间段内运行运维任务。
- 周期型任务:需要配置时间窗,时间窗配置提供每日、每周、每月三种类型供用户选择。智能运维将自动分析用户注册的时间段,在每个时间段内运行运维任务。
- 对于自动Vacuum运维任务,用户配置时间窗时,应避开业务高峰期。否则自动Vacuum将有可能与用户业务产生死锁冲突。
- vacuum(full)运维任务对于用户表并发度最高为24,最低为0;对于系统表并发度最高为1,最低为0。并发度不支持用户自定义,但可根据系统io_util自动调节:
- io_util将0%~60%划分为两个区间段:
- 0%~30%区间段,io_util每减少15%,并发度增加2。
- 30%~60%区间段,io_util值每减少15%,并发度增加1。
- 60%~70%并发度不变。
- 70%以上并发度减1,如果仍维持70%以上IO,则并发度持续减到0。
- io_util将0%~60%划分为两个区间段:
- 调度器会在时间窗内,扫描列存小CU膨胀情况,若发现列存CU膨胀(列存CU的膨胀依据是CU平均记录数小于1000),则调度器会将该列存表优先级提前。列存CU膨胀检测条件不受膨胀率、可回收空间限制。
- 优先级表最多支持添加100个任务表。
- 调度器自动vacuum功能依赖于统计信息,若统计信息不准确,可能会影响调度器自动vacuum执行顺序以及统计结果。
- 调度器不支持带有空格和单引号的表,包括数据库名,schema名,表名。如果vacuum在扫描过程中遇到带有单引号或空格的表,将自动跳过。对于优先级表中有空格或单引号的表,也自动跳过。
- 单击“下一步:配置确认”,确认无误后单击“配置确认”提交。