Re: pgsql-server/src backend/storage/buffer/bufmgr ...

From: Jan Wieck <JanWieck(at)Yahoo(dot)com>
To: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-committers(at)postgresql(dot)org
Subject: Re: pgsql-server/src backend/storage/buffer/bufmgr ...
Date: 2004-01-27 23:12:26
Message-ID: 4016F05A.7060602@Yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Bruce Momjian wrote:

> I guess my major problem with moving away from sync is similar to the
> reason we don't do raw devices --- sync is best done in the kernel and
> disk driver that knows more about how to do it efficiently. I haven't
> see any non-sync solution with performance similar to sync(). However,
> we are going to have to write one for win32, so we can test things once
> we are done and then decide.

We are not doing raw devices because we don't do tablespaces. I mean in
the method where a tablespace for the OS is basically a huge container.
For every little table, PostgreSQL creates a separate file and scatters
the data all over the place because it is too dumb to group allocations
of multiple blocks together. As a consequence, it is short of file
descriptors and needs the kernel at least to reorder it's write requests
so that they are not done in the clueless order they are issued.

Now doing fsync() or fdatasync() of possibly dozens of files in a row,
forcing the kernel to do one scattered file after another, letting the
disk heads dance like step-chicken on a hot tin ... that will be an
improvement, oh boy. However safe this will be, nobody will use it
because MySQL is soooo much faster!

Jan

--
#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me. #
#================================================== JanWieck(at)Yahoo(dot)com #

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2004-01-28 00:05:04 pgsql-server/src/backend/optimizer/util clauses.c
Previous Message Neil Conway 2004-01-27 16:51:43 pgsql-server/doc/src/sgml runtime.sgml