Skip site navigation (1) Skip section navigation (2)

Re: Proposal of PITR performance improvement for 8.4.

From: Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>
To: Gregory Stark <stark(at)enterprisedb(dot)com>
Cc: Simon Riggs <simon(at)2ndQuadrant(dot)com>, Koichi Suzuki <koichi(dot)szk(at)gmail(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Proposal of PITR performance improvement for 8.4.
Date: 2008-10-28 12:44:57
Message-ID: 49070949.4070404@enterprisedb.com (view raw or flat)
Thread:
Lists: pgsql-hackers
Gregory Stark wrote:
> Simon Riggs <simon(at)2ndQuadrant(dot)com> writes:
> 
>> I'm happy with the idea of a readahead process. I thought we were
>> implementing a BackgroundReader process for other uses. Is that dead
>> now?
> 
> You and Bruce seem to keep resurrecting that idea. I've never liked it -- I
> always hated that in Oracle and thought it was a terrible kludge.
> 
> I think the inter-process communication would be way too heavy-weight, by the
> time the other process is schedule the process which needed the blocks would
> have probably have done many of them already anyways. Worse, you would need a
> large number of reading processes and would start to run into locking
> contention on the work-queue as well.
> 
> In any case it would be a lot of code to do what posix_fadvise does for us
> with a simple syscall anyways.

I agree.

> Am I misjudging this? Is this a popular idea? We could always implement it as
> a fall-back implementation for mdprefetch() where posix_fadvise (and libaio
> assuming we implement that as well) don't work. It has the advantage of
> working with any system at all even if it predates 1003.1.

Yeah, if we want to support prefetching on systems that don't have 
posix_fadvise(), that would be the way to do it. posix_fadvise() is a 
good API. We can support multiple platform-specific implementations of 
it if there's interest, using posix_fadvise(), aio to a dummy buffer, 
whatever functions there's on Windows, or background reader processes or 
threads.

-- 
   Heikki Linnakangas
   EnterpriseDB   http://www.enterprisedb.com

In response to

pgsql-hackers by date

Next:From: Hannu KrosingDate: 2008-10-28 12:45:48
Subject: Re: VACUUMs and WAL
Previous:From: Tom LaneDate: 2008-10-28 12:42:14
Subject: Re: VACUUMs and WAL

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group