GaussDB(DWS)数据库智能监控运维服务之schema空间管控
GaussDB(DWS)数据库智能监控运维服务之schema空间管控
1. 前言
- 适用版本:【8.1.1 版本及以上】
GaussDB(DWS) 在 8.1.1 版本支持了 schema 级别的空间管理能力。可以在华为云页面上轻松查看、修改schema空间信息,也提供了两张数据视图,可以通过SQL去实现空间管控能力。
2. 什么是模式(schema)
通过网络,我们很容易就可以了解到模式(SCHEMA)的概念:
PostgreSQL 模式(SCHEMA)可以看着是一个表的集合。
一个模式可以包含视图、索引、数据类型、函数和操作符等。
相同的对象名称可以被用于不同的模式中而不会出现冲突,例如 schema1 和 myschema 都可以包含名为 mytable 的表。
使用模式的优势:
- 允许多个用户使用一个数据库并且不会互相干扰。
- 将数据库对象组织成逻辑组以便更容易管理。
- 第三方应用的对象可以放在独立的模式中,这样它们就不会与其他对象的名称发生冲突。
- 根据业务需求,有时需要在使用数据库时实现对数据库资源实现精细化管控,这时就可以使用DWS提供的模式空间管理来管理集群的schema空间信息。
3. GaussDB(DWS) 数仓上使用schema空间管控
GaussDB(DWS) 在 8.1.1 版本支持了 schema 级别的空间管理能力。可以在华为云页面上轻松查看、修改schema空间信息,也提供了两张数据视图,可以通过SQL去实现空间管控能力。
在华为云上的入口为:数据仓库服务->集群详情->工作负载管理->模式空间管理。
下面分享一下具体使用步骤:
首先,创建一个新的schema
create schema management;
看看页面,默认使用的数据库是postgres,已经有这个schema了
创建一张表,用来测试我们的功能
create table management.user(id text,name text);
因为默认是不对schema做管控的,所以现在还能继续插入数据,然后我们可以多插入一些数据:
insert into management.user(id,name) select random(),random()
这里我插入了八百万条数据,可以看到使用量已经到550+MB了
这时,我们可以测试下管控后的效果,这里把空间限额限制在550MB :
此时再插入一些数据,很容易就会超出限制,
此时可以查到数据量已经达到839万条,再也无法插入数据。
4. 使用SQL实现对schema空间的管控和查看
sql方式比较直接,但看起来可能就没有页面那么方便
这里重点介绍两个视图:
第一张视图:pgxc_total_schema_info 集群各个节点的数据使用量、空间限额等信息
第二张视图:pgxc_total_schema_analyze,这是一张汇总各节点各个schema使用量后生成的分析视图
有了这两张视图,我们可以用SQL更新schema限额信息,这里space分别代表schema名称和空间限额值,具体设置多少需结合需求来定。
alter schema $name with perm space $space
注意:
- 因为GaussDB(DWS) 在 8.1.1 版本才支持 schema 空间管控,所以在之前的版本是肯定没法使用的。
- 创建集群时的超级管理员用户,也是不受管控的。
- 这里设置限额可能导致数据量达到限额后无法再插入数据,所以这里一定要合理使用限额功能。
5. 总结
本文主要介绍了模式(schema)的概念,并展示了如何在DWS上使用schema空间管控,同时我们也可以借助pgxc_total_schema_info和pgxc_total_schema_analyze视图并利用SQL更新schema限额信息,实现对schema空间的管控和查看。
- 点赞
- 收藏
- 关注作者
评论(0)