文件名称:Greenplum释放AO表SHELL脚本
文件大小:31KB
文件格式:ZIP
更新时间:2021-11-06 05:49:04
greenplum shell
Greenplum支持行储存(HEAP储存)与列(append-only)储存,对于AO存储,虽然是appendonly,但实际上GP是支持DELETE和UPDATE的,被删除或更新的行,通过BITMAP来标记删除与修改。AO存储是块级组织,当一个块内的数据大部分都被删除或更新掉时,扫描它浪费的成本实际上是很高的。而PostgreSQL是通过HOT技术以及autovacuum来避免或减少垃圾的。但是Greenplum没有自动回收的worker进程,所以需要人为的触发。接下来就分析AO表与HEAP表的问题以及如何解答,执行空间的释放有3中方法分别是: 1、执行VACUUM。(当膨胀率大于gp_appendonly_compaction_threshold参数时),为共享锁。 2、执行VACUUM FULL。(不管gp_appendonly_compaction_threshold参数的设置,都会回收垃圾空间。),为DDL锁,需要慎用这个命令,会把CPU与IO沾满。 3、执行重分布。(不管gp_appendonly_compaction_threshold参数,都会回收垃圾空间。),为DDL锁
【文件预览】:
greenplum-inspect-ao
----log()
--------20181017()
----greenplum-inspect-ao.sh(3KB)
----inspect-ao-sql()
--------inspect-ao-ori.sql(153B)
--------inspect-ao-percent-hidden-ori.sql(80B)