Re: Zedstore - compressed in-core columnar storage - Mailing list pgsql-hackers

From Heikki Linnakangas
Subject Re: Zedstore - compressed in-core columnar storage
Date
Msg-id b4c776ce-ca3e-c30c-83d0-5820e19862de@iki.fi
Whole thread Raw
In response to Re: Zedstore - compressed in-core columnar storage  (Konstantin Knizhnik <k.knizhnik@postgrespro.ru>)
List pgsql-hackers
On 10/04/2019 10:38, Konstantin Knizhnik wrote:
> I also a little bit confused about UNDO records and MVCC support in
> Zedstore. Actually columnar store is mostly needed for analytic for
> read-only or append-only data. One of the disadvantages of Postgres is
> quite larger per-record space overhead caused by MVCC.
> It may be critical if you want to store huge timeseries  with relatively
> small number of columns (like measurements of some sensor).
> It will be nice to have storage format which reduce this overhead when
> it is not needed (data is not updated).

Sure. Definitely something we need to optimize.

> Right now, even without UNFO pages, size of zedstore is larger than size
> of original Postgres table.
> It seems to be very strange.

If you have a table with a lot of columns, but each column is small, 
e.g. lots of boolean columns, the item headers that zedstore currently 
stores for each datum take up a lot of space. We'll need to squeeze 
those harder to make this competitive. Instead of storing a header for 
each datum, if a group of consecutive tuples have the same visibility 
information, we could store the header just once, with an array of the 
datums, for example.

- Heikki



pgsql-hackers by date:

Previous
From: Konstantin Knizhnik
Date:
Subject: Re: Zedstore - compressed in-core columnar storage
Next
From: Amit Langote
Date:
Subject: Re: hyrax vs. RelationBuildPartitionDesc