I have a vertica database that using projections. I read vertica docs but docs generally talk about how to issue;
I need to know logic of the projections, why are they ? Just for performance ?
I have a vertica database that using projections. I read vertica docs but docs generally talk about how to issue;
I need to know logic of the projections, why are they ? Just for performance ?
Projections in Vertica has 3 main usage .
1) Store the data - in vertica when you create table , in the background vertica will create for your data super projection , super projection is the main storage for your data , it include all your columns and has some defaulted which you can play with.
2) Performances - projection is like materialized view of your data ( if you have some Oracle background it will be more easy to understend it ) , you can create them on subset columns of your main tables with different sort order and different segmentation , its very imported in MPP database to have the right design of projection in order to get good performances .
3) Use for HA , for cluster database , in some cases you want to split the data among different nodes on the cluster , such that each node will have partial data set . Using that method you want to have zero downtime when one of the nodes is crash , projection help on that by having part of other nodes data in your node ( vertica manage it automatically , you can look on the documentation for KSAFE )
I hope you will find it useful Thanks