Re: zheap: a new storage format for PostgreSQL

From: Mithun Cy <mithun(dot)cy(at)enterprisedb(dot)com>
To: Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>, Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
Cc: pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: zheap: a new storage format for PostgreSQL
Date: 2018-12-06 06:55:25
Message-ID: CAD__Ouguz4oSX6uQskU4Cm9AMcQgCmEDknpBPdKAKCKkiS3kjQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Dec 6, 2018 at 11:13 AM Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> wrote:
>
> On Thu, Dec 6, 2018 at 10:03 AM Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> wrote:
> >
> > čt 6. 12. 2018 v 5:02 odesílatel Mithun Cy <mithun(dot)cy(at)enterprisedb(dot)com> napsal:
> >>
> >> COPY command seems to have improved very slightly with zheap in both with size of wal and execution time. I also did some tests with insert statement where I could see some regression in zheap when compared to heap with respect to execution time. With further more investigation I will reply here.
> >>
> >
> > 20% of size reduction looks like effect of fill factor.
> >
>
> I think it is because of smaller zheap tuple sizes. Mithun can tell
> more about setup whether he has used different fillfactor or anything
> else which could lead to such a big difference.

Yes default fillfactor is unaltered, zheap tuples sizes are less and
alinged each at 2 Bytes

Length of each item. (all Items are identical)
=====================================
postgres=# SELECT lp_len FROM
zheap_page_items(get_raw_page('pgbench_zheap', 9)) limit 1;
lp_len
--------
102
(1 row)

postgres=# SELECT lp_len FROM
heap_page_items(get_raw_page('pgbench_heap', 9)) limit 1;
lp_len
--------
121
(1 row)

Total tuples per page
=====================================
postgres=# SELECT count(*) FROM
zheap_page_items(get_raw_page('pgbench_zheap', 9));
count
-------
76
(1 row)

postgres=# SELECT count(*) FROM
heap_page_items(get_raw_page('pgbench_heap', 9));
count
-------
61
(1 row)

because of this zheap takes less space as reported above.

--
Thanks and Regards
Mithun Chicklore Yogendra
EnterpriseDB: http://www.enterprisedb.com

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Pavel Stehule 2018-12-06 07:00:12 Re: zheap: a new storage format for PostgreSQL
Previous Message Peter Geoghegan 2018-12-06 06:52:30 Re: Fixing findDependentObjects()'s dependency on scan order (regressions in DROP diagnostic messages)