Thread: Re: Tablespace-level Block Size Definitions

Re: Tablespace-level Block Size Definitions

From
"Zeugswetter Andreas DAZ SD"
Date:
> The problem I see with this proposal is that the buffer manager knows
> how to handle only a equally-sized pages.  And the shared memory stuff
> gets sized according to size * num_pages.  So what happens if a certain
> tablespace A with pagesize=X gets to have a lot of its pages cached,
> evicting pages from tablespace B with pagesize=Y, where Y < X?

You could create a separate bufferpool per page size. Of course that
has other disadvantages.

Is it really so difficult to create and attach another shmem segment ?

Andreas


Re: Tablespace-level Block Size Definitions

From
Dawid Kuroczko
Date:
On 6/1/05, Zeugswetter Andreas DAZ SD <ZeugswetterA@spardat.at> wrote:
> You could create a separate bufferpool per page size. Of course that
> has other disadvantages.
>
> Is it really so difficult to create and attach another shmem segment ?

Well, I don't think it is much different from having two database clusters,
each with different block size.  Hmm, perhaps it could be possible to
make them all available through one "virtual" DB host/port using
pg_pool even. :)

It shouldn't be too difficult to create benchmarks testing performance
of PostgreSQL under different block sizes, I guess.  I wonder what
perfromance win is possible...
  Regards,     Dawid


Re: Tablespace-level Block Size Definitions

From
Hannu Krosing
Date:
On K, 2005-06-01 at 14:00 +0200, Dawid Kuroczko wrote:
> On 6/1/05, Zeugswetter Andreas DAZ SD <ZeugswetterA@spardat.at> wrote:
> > You could create a separate bufferpool per page size. Of course that
> > has other disadvantages.
> > 
> > Is it really so difficult to create and attach another shmem segment ?
> 
> Well, I don't think it is much different from having two database clusters,
> each with different block size.  Hmm, perhaps it could be possible to
> make them all available through one "virtual" DB host/port using
> pg_pool even. :)
> 
> It shouldn't be too difficult to create benchmarks testing performance
> of PostgreSQL under different block sizes, I guess.  I wonder what
> perfromance win is possible...

Perhaps it is simpler to just put different tablespaces on different
disks and then play with filesystem readahead settings at disk level.

It's not exactly the same thing, but may solve at least some problems.

-- 
Hannu Krosing <hannu@skype.net>