Re: zheap: a new storage format for PostgreSQL

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

čt 6. 12. 2018 v 7:55 odesílatel Mithun Cy <mithun(dot)cy(at)enterprisedb(dot)com>
napsal:

> 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
>
>
I am sorry, I know zero about zheap - does zheap use fill factor? if yes,
why? I though it was sense just for current format.

Regards

Pavel

> 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 Raiskup 2018-12-06 07:00:13 Re: minor leaks in pg_dump (PG tarball 10.6)
Previous Message Mithun Cy 2018-12-06 06:55:25 Re: zheap: a new storage format for PostgreSQL