Re: partial heap only tuples

From: Bruce Momjian <bruce(at)momjian(dot)us>
To: "Bossart, Nathan" <bossartn(at)amazon(dot)com>
Cc: Andres Freund <andres(at)anarazel(dot)de>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>, "McAlister, Grant" <grant(at)amazon(dot)com>, "Mlodgenski, Jim" <mlodj(at)amazon(dot)com>, "Nasby, Jim" <nasbyj(at)amazon(dot)com>, "Hsu, John" <hsuchen(at)amazon(dot)com>
Subject: Re: partial heap only tuples
Date: 2021-03-09 16:23:42
Message-ID: 20210309162342.GA26575@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, Feb 15, 2021 at 08:19:40PM +0000, Bossart, Nathan wrote:
> Yeah, this is something I'm concerned about. I think adding a bitmap
> of modified columns to the header of PHOT-updated tuples improves
> matters quite a bit, even for single-page vacuuming. Following is a
> strategy I've been developing (there may still be some gaps). Here's
> a basic PHOT chain where all tuples are visible and the last one has
> not been deleted or updated:
>
> idx1 0 1 2 3
> idx2 0 1 2
> idx3 0 2 3
> lp 1 2 3 4 5
> tuple (0,0,0) (0,1,1) (2,2,1) (2,2,2) (3,2,3)
> bitmap -xx xx- --x x-x

First, I want to continue encouraging you to work on this because I
think it can yield big improvements. Second, I like the wiki you
created. Third, the diagram above seems to be more meaningful if read
from the bottom-up. I suggest you reorder it on the wiki so it can be
read top-down, maybe:

> lp 1 2 3 4 5
> tuple (0,0,0) (0,1,1) (2,2,1) (2,2,2) (3,2,3)
> bitmap -xx xx- --x x-x
> idx1 0 1 2 3
> idx2 0 1 2
> idx3 0 2 3

Fourth, I know in the wiki you said create/drop index needs more
research, but I suggest you avoid any design that will be overly complex
for create/drop index. For example, a per-row bitmap that is based on
what indexes exist at time of row creation might cause unacceptable
problems in handling create/drop index. Would you number indexes? I am
not saying you have to solve all the problems now, but you have to keep
your eye on obstacles that might block your progress later.

--
Bruce Momjian <bruce(at)momjian(dot)us> https://momjian.us
EDB https://enterprisedb.com

The usefulness of a cup is in its emptiness, Bruce Lee

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Chapman Flack 2021-03-09 16:41:22 Re: [PATCH] pg_permissions
Previous Message David Steele 2021-03-09 16:22:32 Re: A problem about partitionwise join