GaussDB(DWS) 8.0和8.1版本空间管控机制的区别
【摘要】 相比于GaussDB(DWS)8.0版本, GaussDB(DWS)8.1版本提供了Schema级别的空间管控能力,一方面可以实现单实例上的空间管控,避免数据库只读和磁盘满的情况出现;另一方面将空间管控和用户、队列解耦,实现了空间管控和权限的分离,降低用户使用空间管控的难度。 通过创建Schema时指定存储空间的大小实现对存储资源的管理,仅限制永久表存储空间(PRE...
相比于GaussDB(DWS)8.0版本, GaussDB(DWS)8.1版本提供了Schema级别的空间管控能力,一方面可以实现单实例上的空间管控,避免数据库只读和磁盘满的情况出现;另一方面将空间管控和用户、队列解耦,实现了空间管控和权限的分离,降低用户使用空间管控的难度。
通过创建Schema时指定存储空间的大小实现对存储资源的管理,仅限制永久表存储空间(PREM SPACE),每个dn的表空间阈值大小均为永久表存储空间的阈值大小。
下图为Schema空间管控逻辑图:
Schema空间管控注意事项:
•超户向schema中的表插入数据时,不受schema空间限制。
•列存表空间分3块,主表空间、cstore和pg_toast。
•列存表的CUDESC、CUDESC_INDEX、DELTA、CUDESC_PART、CUDESC_PART_INDEX都是辅助表,这些辅助表的空间会被记录到CSTORE Schema空间中;
•列存表的CBTREE索引存储空间大小能正常记录到主表队里的Schema上,但PSORT索引比较特殊,其存储空间大小仍然会被记录到CSTORE Schema空间中。
•而TOAST表和TOAST索引,其空间会被记录到PG_TOAST Schema空间中。
•列存点插会出现辅助表空间远大于主表的情况,其余场景,辅助表空间低于主表空间的 5%。
•Schema空间管控将会忽略template0和template1两个模板库,对这两个模板库中Schema不会进行管控。
•扩容缩容场景下,数据重分布之后,Schema空间统计值会有偏差,需要调用校准函数来重新校准。
•修改表的分布列场景下,Schema空间统计值会有偏差,需要调用校准函数来重新校准。
•VACUUM FULL/REINDEX表的过程中,如果主DN故障发生主备切换,Schema空间统计值会有偏差,需要调用校准函数来重新校准。
•创建临时表时,会同步创建临时Schema,这些临时Schema的名称类似于pg_temp_*和pg_toast_temp_*,临时Schema的空间不会被管控所限制,并且临时Schema信息不在PG_TOTAL_SCHEMA_INFO视图中展示。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)