Re: Proposal for CSN based snapshots

From: Greg Stark <stark(at)mit(dot)edu>
To: Jeff Davis <pgsql(at)j-davis(dot)com>
Cc: Heikki Linnakangas <hlinnakangas(at)vmware(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, Andres Freund <andres(at)2ndquadrant(dot)com>, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, Bruce Momjian <bruce(at)momjian(dot)us>, Rajeev rastogi <rajeev(dot)rastogi(at)huawei(dot)com>, Ants Aasma <ants(at)cybertec(dot)at>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>, Markus Wanner <markus(at)bluegap(dot)ch>
Subject: Re: Proposal for CSN based snapshots
Date: 2014-08-26 20:00:46
Message-ID: CAM-w4HPa8hFr6SJDndAg4UXEB6cUbQLco-p9O6Mx2Fbr2KpjZw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Aug 26, 2014 at 8:32 PM, Jeff Davis <pgsql(at)j-davis(dot)com> wrote:
> We are mixing two kinds of data: user data and visibility information.
> Each is changed under different circumstances and has different
> characteristics, and I'm beginning to think they shouldn't be mixed at
> all.
>
> What if we just devised a structure specially designed to hold
> visibility information, put all of the visibility information there, and
> data pages would only change where there is a real, user-initiated
> I/U/D. Vacuum could still clear out dead tuples from the data area, but
> it would do the rest of its work on the visibility structure. It could
> even be a clever structure that could compress away large static areas
> until they become active again.

Well fundamentally the reason the visibility information is with the
user data is so that we don't need to do two i/os to access the data.
The whole point of hint bits is to guarantee that after some amount of
time you can read data directly out of the heap page and use it
without doing any additional I/O.

--
greg

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Geoghegan 2014-08-26 20:09:00 Re: B-Tree support function number 3 (strxfrm() optimization)
Previous Message Robert Haas 2014-08-26 19:59:21 Re: B-Tree support function number 3 (strxfrm() optimization)