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

Re: Index/Function organized table layout

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: James Rogers <jamesr(at)best(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Index/Function organized table layout
Date: 2003-10-01 15:37:38
Message-ID: 29590.1065022658@sss.pgh.pa.us (view raw or flat)
Thread:
Lists: pgsql-hackers
James Rogers <jamesr(at)best(dot)com> writes:
> Now, I've actually hacked commercial MVCC engines back in the day, and am
> comfortable playing around in database internals.  I have an "itch to
> scratch" for improving the scalability of Really Large Tables by explicitly
> allowing control of table layouts as an optional property of the tables.  I
> would like some feedback as to whether this is practical given the current
> architecture; it appears that it is, but I'm not intimately familiar with it

I think you'd need to do some basic architectural work first.  Right now
we have a clean API for index access methods, but there is no comparable
abstraction layer for heaps (tables).  It'd probably be necessary to
create such a layer in order to allow different heap organizations to be
supported.  Another point of confusion is that heaps and indexes are
rigidly distinct.  Perhaps some heaps could be considered to be indexes
as well, in order to support your idea of b-tree-organized tables.
Doing that would undoubtedly break a few places though.

> Both of these things really are attempts to address the same basic problem,
> which is optimizing the number of buffers a given query uses by making the
> tables layout reflect typical queries.

Hm, are you sure that smarter buffer management wouldn't serve the
purpose?

			regards, tom lane

In response to

Responses

pgsql-hackers by date

Next:From: Robert TreatDate: 2003-10-01 15:40:23
Subject: Re: Thoughts on maintaining 7.3
Previous:From: Alvaro HerreraDate: 2003-10-01 15:22:02
Subject: Re: Index/Function organized table layout

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