Re: Dead Space Map version 2

From: ITAGAKI Takahiro <itagaki(dot)takahiro(at)oss(dot)ntt(dot)co(dot)jp>
To: "Simon Riggs" <simon(at)2ndquadrant(dot)com>, <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Dead Space Map version 2
Date: 2007-02-27 09:37:12
Message-ID: 20070227180119.639F.ITAGAKI.TAKAHIRO@oss.ntt.co.jp
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-patches pgsql-performance


"Simon Riggs" <simon(at)2ndquadrant(dot)com> wrote:

> > If we combine this with the HOT patch, pages with HOT tuples are probably
> > marked as UNFROZEN because we don't bother vacuuming HOT tuples. They can
> > be removed incrementally and doesn't require explicit vacuums.
>
> Perhaps avoid DSM entries for HOT updates completely?

Yes, if we employ 1bit/page (worth vacuum or not).
Or no if 2bits/page because HOT updates change page states to UNFROZEN.

> > * Enable/Disable DSM tracking per tables
>
> How about a dsm_tracking_limit GUC? (Better name please)
> The number of pages in a table before we start tracking DSM entries for
> it. DSM only gives worthwhile benefits for larger tables anyway, so let
> the user define what large means for them.
> dsm_tracking_limit = 1000 by default.

Sound good. How about small_table_size = 8MB for the variable?
I found that we've already have the value used for truncating
threshold for vacuum. (REL_TRUNCATE_MINIMUM = 1000 in vacuumlazy.c)
I think they have the same purpose in treating of small tables
and we can use the same variable in these places.

> > * Dead Space State Cache
>
> ISTM there should be a point at which DSM is so full we don't bother to
> keep track any longer, so we can drop that information. For example if
> user runs UPDATE without a WHERE clause, there's no point in tracking
> whole relation.

It's a bit difficult. We have to lock DSM *before* we see whether
the table is tracked or not. So we need to cache the tracked state
in the relcache entry, but it requres some works to keep coherency
between cached states and shared states.

Regards,
---
ITAGAKI Takahiro
NTT Open Source Software Center

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Magnus Hagander 2007-02-27 09:37:37 Re: Seeking Google SoC Mentors
Previous Message Dave Page 2007-02-27 09:21:42 Re: Seeking Google SoC Mentors

Browse pgsql-patches by date

  From Date Subject
Next Message Magnus Hagander 2007-02-27 09:40:07 Re: POSIX shared memory support
Previous Message Chris Marcellino 2007-02-27 09:36:26 Re: POSIX shared memory support

Browse pgsql-performance by date

  From Date Subject
Next Message Heikki Linnakangas 2007-02-27 09:51:09 Re: Dead Space Map version 2
Previous Message ITAGAKI Takahiro 2007-02-27 08:56:23 Re: Dead Space Map version 2