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
