Hi, Konstantin!

Thank you for working on new pluggable storage API.

Your patch in attachment is 505 bytes and contains only diff from explain.c. Is 
it right?

01.04.2018, 15:48, "Konstantin Knizhnik" <k.knizh...@postgrespro.ru>:
> Hi hackers,
>
> Vertical (columnar) storage mode is most optimal for analytic and this is why 
> it is widely used in databases oriented on OLAP, such as Vertica, 
> HyPer,KDB,...
> In Postgres we have cstore extension which is not able to provide all 
> benefits of vertical model because of lack of support of vector operations in 
> executor.
> Situation can be changed if we will have pluggable storage API with support 
> of vectorized execution.
>
> But veritcal model is not so good for updates and load of data (because data 
> is mostly imported in horizontal format).
> This is why in most of the existed systems data is presentin both formats (at 
> least for some time).
>
> I want to announce new model, "diagonal storage" which combines benefits of 
> both approaches.
> The idea is very simple: we first store column 1 of first record, then column 
> 2 of second record, ... and so on until we reach the last column.
> After it we store second column of first record, third column of the second 
> record,...
>
> Profiling of TPC-H queries shows that mode of the time of query exectution 
> (about 17%) is spent is heap_deform_tuple.
> New format will allow to significantly reduce time of heap deforming, because 
> there is just of column if the particular record in each tile.
> Moreover over we can perform deforming of many tuples in parallel, which ids 
> especially efficient at quantum computers.
>
> Attach please find patch with first prototype implementation. It provides 
> about 3.14 times improvement of performance at most of TPC-H queries.
>
> --
> Konstantin Knizhnik
> Postgres Professional: http://www.postgrespro.com
> The Russian Postgres Company

-- 
Best regards, Dmitry Voronin


Reply via email to