Vertica 数据库的数据是存放在投影( projection)里, vertica 数据库在对象创建的时候会自动创建一个supperprojection, supperprojection 主要实现让所有数据查询可见。
为了获得最好的性能和压缩比, vertica建议创建自己的投影。
1 创建 Projection
通过设计( A design is a physical storage plan that optimizes query performance)来创建自己所需要的投影。
创建设计的流程图:
2 创建自定义 Projection
一般对于表的 projection,需要表上有数据,且数据一般不超过 10GB,太多耗时比较久,太少可能无法得到最优化的结果。
有三种目标: Load、 Performance、Balanced,分别对数据加载、存储优化,SQL语句查询性能优化,折中这两个优化。
通过表 QUERY_REQUESTS 可以查到最近在执行的 SQL语句信息,如果对表上使用的 SQL不是特别清楚的,可以通过该表找出相应的 SQL 并进行 Projection。
有两种方法创建自己的 Projection,一个是使用 admintools工具进行创建,另外就是使