环境:
OS:SUSE LINUX Enterprise Server 11
DB:9.1.1-13
说明:
Vertica是基于列式存储的MPP架构的关系型数据库,share nothing,支持横向扩展。适用场景:OLAP(数据仓库,数据分析,报表系统)数据存储量可达PB级,建议定期监控存储空间使用,避免影响集群性能。
查询集群中未使用的Projection:
select projection_schema,anchor_table_name,projection_name
from v_catalog.projections
where is_super_projection=‘f’
and prjection_name not in (select projection_name from v_monitor.projection_usage)
group by projection_schema,anchor_table_name,projection_name
order by anchor_table_name;
解释:
Vertica中的表不保存数据,存储数据的是projectoin(类似oracle的物化视图),每个表可以拥有多个projection。其中只能拥有一个super projection(此projection必须包含表的所有列)。另外,可以选择不同的列创建不同的projection,目的是为了提升查询效率,但是缺点是浪费了大量空间。(建议每个表创建的projection不超过3个)
每次SQL语句执行过程中只会用到表的一个projection,虽然你可能创建了多个projection,但是有些projection可能根本就没有被使用过,所以,建议定期执行上述SQL进行检查,将未使用过的projection(非super projection)进行drop,释放磁盘空间。