On 09/04/2019 18:00, Konstantin Knizhnik wrote:
Looks like the original problem was caused by internal postgres
compressor: I have not configured Postgres to use lz4.
When I configured Postgres --with-lz4, data was correctly inserted in
zedstore table, but looks it is not compressed at all:

postgres=# select pg_relation_size('zedstore_lineitem_projection');
   pg_relation_size
------------------
         9363010640

No wonder that zedstore shows the worst results:

lineitem                                      6240.261 ms
lineitem_projection                    5390.446 ms
zedstore_lineitem_projection   23310.341 ms
vops_lineitem_projection             439.731 ms

Updated version of vstore_bench.sql is attached (sorry, there was some
errors in previous version of this script).

I tried this quickly, too. With default work_mem and no parallelism, and 1 gb table size, it seems that the query chooses a different plan with heap and zedstore, with a sort+group for zedstore and hash agg for heap. There's no ANALYZE support in zedstore yet, and we haven't given much thought to parallelism either. With work_mem='1GB' and no parallelism, both queries use a hash agg, and the numbers are much closer than what you saw, about 6 s for heap, and 9 s for zedstore.

- Heikki


Reply via email to