GaussDB(DWS)--基于用户的空间管理方法
在数据仓库的日常管理过程中,空间管理是一个必要的且重要的事情。从技术上讲,可以防止空间爆满导致集群不可用的情况发生;从业务发展角度讲,可以根据空间的使用趋势评估未来业务的发展趋势,评估什么时候扩容、扩多大等。本文介绍一种基于用户或租户的空间管理方式。
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_DATA的owner为OWNER_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级数仓黑科技,后台还可获取众多学习资料~
- 点赞
- 收藏
- 关注作者
评论(0)