Index Tuple Compression Approach? - Mailing list pgsql-hackers

From Chris Browne
Subject Index Tuple Compression Approach?
Date
Msg-id 604pj1n777.fsf_-_@dba2.int.libertyrms.com
Whole thread Raw
In response to HELP all women were raped during the May riots in Jakarta  (adm@pu.go.id)
Responses Re: Index Tuple Compression Approach?  (Decibel! <decibel@decibel.org>)
List pgsql-hackers
I recently had a chat with someone who was pretty intimate with Adabas
for a number of years who's in the process of figuring things out
about PostgreSQL.  We poked at bits of the respective implementations,
seeing some similarities and differences.  He pointed out one aspect
of index handling that could (in principle) be an interesting
optimization.

Evidently, in Adabas, index leaf nodes were not simply tuples, but
lists where the index value would not be repeated.

In PostgreSQL, if you have the index value 'abc', and there are 10
tuples with that value, then you'll have a page full of tuples of the
following form:

|abc|ptr[rec1]|abc|ptr[rec2]|abc|ptr[rec3]| ...and so forth...

Now, the Adabas approach was rather different.  It would only have the
index value once, and then have the list of tuple pointers:

|abc|ptr[rec1],ptr[rec2],ptr[rec3],...[ptr[rec10]|

This could allow a fair bit of compression, for cases where the index
value is not unique.

There is a concommitant downside, that concurrent updates may fight
over a page, and, since there would be a higher density, there would
be more need to fight over pages.

Does this seem pretty much like madness?  Or is it a plausible "some
day ToDo"?
-- 
"cbbrowne","@","acm.org"
http://linuxfinances.info/info/postgresql.html
"I don't do drugs anymore 'cause I  find I get the same effect just by
standing up really fast." -- Jonathan Katz


pgsql-hackers by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: default_text_search_config and expression indexes
Next
From: Decibel!
Date:
Subject: Re: Index Tuple Compression Approach?