Citus 10 brings columnar compression to Postgres
One of the gotchas of columnar storage (coming from Redshift) is that you lose all of the compression benefits if you have just one column that’s fat or hard to compress.In Redshift columns are stored in blocks. You want to fit roughly the same number of column values per block across all your columns. But if you have one column where a small number of values can fit in a block, the rest of the columns end up leaving most of the block space unused. The result is wasted disk space and poor query performance.This Postgres extension has similar-sounding storage ideas with stripes, but it’s not clear to me if it suffers from the same issue.My first test to vet this would be a table with 50 columns of ints and one column of md5 hashes stored as varchar.