Re: Columnar store as default for PostgreSQL 10? - Mailing list pgsql-general

From George Neuner
Subject Re: Columnar store as default for PostgreSQL 10?
Date
Msg-id i14vhb1757vvnur2puf9btjsahnc7vc7h0@4ax.com
Whole thread Raw
In response to Columnar store as default for PostgreSQL 10?  (Bráulio Bhavamitra <brauliobo@gmail.com>)
List pgsql-general
On Mon, 25 Apr 2016 21:48:44 -0400, Adam Brusselback
<adambrusselback@gmail.com> wrote:

>>It is not difficult to simulate column store in a row store system if
>>you're willing to decompose your tables into (what is essentially)
>>BCNF fragments.  It simply is laborious for designers and programmers.
>
>I could see a true column store having much better performance than
>tricking a row based system into it.  Just think of the per-row overhead we
>currently have at 28 bytes per row.  Breaking up data manually like that
>may help a little, but if you don't have a very wide table to begin with,
>it could turn out you save next to nothing by doing so.  A column store
>wouldn't have this issue, and could potentially have much better
>performance.

A column store must be able to distinguish entries in the column
[which may be non-unique] as well as join the columns of the
fragmented virtual table to reconstruct its rows.

These requirements dictate that a "column" be at least a triple:

    { id, table_row, data }

so there is no space saving WRT row store - the opposite in fact:
column store usually requires more space.

Column store enhances performance mainly by not fetching and not
caching unused data.  And standard practices like controlling the
physical locations of tables help both row and column store systems.

George

pgsql-general by date:

Previous
From: Steve Crawford
Date:
Subject: Re: psql color hostname prompt
Next
From: "Mike Sofen"
Date:
Subject: Re: truncate table getting blocked