Re: Undo logs - Mailing list pgsql-hackers

From James Sewell
Subject Re: Undo logs
Date
Msg-id CAANVwEvhNWpM+tqN-D38pPtHbsVsmhSsd9iBUcT9R-+SZmbT2A@mail.gmail.com
Whole thread Raw
In response to Undo logs  (Thomas Munro <thomas.munro@enterprisedb.com>)
List pgsql-hackers
Exciting stuff! Really looking forward to having a play with this.

James Sewell,
Chief Architect



Suite 112, Jones Bay Wharf, 26-32 Pirrama Road, Pyrmont NSW 2009

On 25 May 2018 at 08:22, Thomas Munro <thomas.munro@enterprisedb.com> wrote:
Hello hackers,

As announced elsewhere[1][2][3], at EnterpriseDB we are working on a
proposal to add in-place updates with undo logs to PostgreSQL.  The
goal is to improve performance and resource usage by recycling space
better.

The lowest level piece of this work is a physical undo log manager,
which I've personally been working on.  Later patches will build on
top, adding record-oriented access and then the main "zheap" access
manager and related infrastructure.  My colleagues will write about
those.

The README files[4][5] explain in more detail, but here is a
bullet-point description of what the attached patch set gives you:

1.  Efficient appending of new undo data from many concurrent
backends.  Like logs.
2.  Efficient discarding of old undo data that isn't needed anymore.
Like queues.
3.  Efficient buffered random reading of undo data.  Like relations.

A test module is provided that can be used to exercise the undo log
code paths without needing any of the later zheap patches.

This is work in progress.  A few aspects are under active development
and liable to change, as indicated by comments, and there are no doubt
bugs and room for improvement.  The code is also available at
github.com/EnterpriseDB/zheap (these patches are from the
undo-log-storage branch, see also the master branch which has the full
zheap feature).  We'd be grateful for any questions, feedback or
ideas.

[1] https://amitkapila16.blogspot.com/2018/03/zheap-storage-engine-to-provide-better.html
[2] https://rhaas.blogspot.com/2018/01/do-or-undo-there-is-no-vacuum.html
[3] https://www.pgcon.org/2018/schedule/events/1190.en.html
[4] https://github.com/EnterpriseDB/zheap/tree/undo-log-storage/src/backend/access/undo
[5] https://github.com/EnterpriseDB/zheap/tree/undo-log-storage/src/backend/storage/smgr

--
Thomas Munro
http://www.enterprisedb.com



The contents of this email are confidential and may be subject to legal or professional privilege and copyright. No representation is made that this email is free of viruses or other defects. If you have received this communication in error, you may not copy or distribute any part of it or otherwise disclose its contents to anyone. Please advise the sender of your incorrect receipt of this correspondence.

pgsql-hackers by date:

Previous
From: Kyotaro HORIGUCHI
Date:
Subject: Re: Redesigning the executor (async, JIT, memory efficiency)
Next
From: "Jonathan S. Katz"
Date:
Subject: Re: SP-GiST failing to complete SP-GiST index build