GaussDB(DWS)--基于用户的空间管理方法

举报
Sprother 发表于 2021/05/19 08:55:26 2021/05/19
【摘要】 在数据仓库的日常管理过程中,空间管理是一个必要的且重要的事情。从技术上讲,可以防止空间爆满导致集群不可用的情况发生;从业务发展角度讲,可以根据空间的使用趋势评估未来业务的发展趋势,评估什么时候扩容、扩多大等。本文介绍一种基于用户或租户的空间管理方式。

       在数据仓库的日常管理过程中,空间管理是一个必要的且重要的事情。从技术上讲,可以防止空间爆满导致集群不可用的情况发生;从业务发展角度讲,可以根据空间的使用趋势评估未来业务的发展趋势,评估什么时候扩容、扩多大等。本文介绍一种基于用户或租户的空间管理方式。

1、基本管理机制

在GaussDB(DWS)中存储资源管理在多租户场景下用于限定不同用户可以使用的空间配额,防止用户使用存储空间过大导致业务执行受阻。GaussDB(DWS)通过在创建用户时指定存储空间的大小实现对存储资源的管理。存储空间资源分为三种类型:永久表空间(Perm Space),临时表空间(Temp Space)和算子下盘空间(Spill Space)存储空间管理支持对组用户和业务用户的存储空间管理, 当业务用户对应的组用户存在空间限制时,则业务用户的空间也受到该组用户的空间限制。

更严格的来说,GaussDB(DWS)最终管理的表owner的可用空间。

假设我们设置XXX_DATA(Schema)的所有表的owner为OWER_USER,我们对OWNER_USER用户设置可用的永久空间(Perm Space)为100TB,这样就可以达到控制XXX_DATA(Schema)的空间为100TB。

注意:虽然我们指定了一个表的owner,但是,更新数据的时候不一定使用表的owner去更新。例如:XXX_DATAownerOWNER_USER,实际更新数据的时候通常使用的是BAT_USER也就是说,我们不关心哪个用户对数据进行了更新,只需要关心表owner的存储资源即可。

2、Schema与用户的关系

当前的存储资源管理方式存在着schema与用户多对多的关系,这使得存储资源的管理变得复杂。例如,XXX平台拥有Schema1_data和Schema2_data两个schema;XXX平台有Depart1业务用户,Depart2业务用户和Depart3业务用户三类用户且这三类用户绑定了两个租户。

这三类用户都拥有在两个schema的建表权限,这样就会得到一个多对多的结果。这种多对多的关系在日常管理中会给我们带来很多麻烦,如下图:

3、日常管理规范及保障机制

  • 建立建表规范

为了避免这种复杂的关系给我们带来麻烦,我们需要制定建表规范每一个schema的普通表(不包括temp table)的owner必须为同一个用户。例如:XXX_DATA(Schema)table owner必须为OWNER_USER1

  • 建立建表检查机制

建立检查机制,保障规范的可行性:每次上线或变更都检查table owner,如果table owner与规范规定的用户不一致,则进行必要的整改。

以上是基于用户或租户的管理方式,未来GaussDB(DWS)也会推出基于Schema的空间管理方式,满足更多的客户的不同的需求,敬请关注。

想了解GuassDB(DWS)更多信息,欢迎微信搜索“GaussDB DWS”关注微信公众号,和您分享最新最全的PB级数仓黑科技,后台还可获取众多学习资料~

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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