Re: Remove xmin and cmin from frozen tuples

Alvaro Herrera <alvherre@alvh.no-ip.org>

From: Alvaro Herrera <alvherre@alvh.no-ip.org>
To: "Jim C. Nasby" <jnasby@pervasive.com>
Cc: Bruce Momjian <pgman@candle.pha.pa.us>, Tom Lane <tgl@sss.pgh.pa.us>, ITAGAKI Takahiro <itagaki.takahiro@lab.ntt.co.jp>, pgsql-hackers@postgresql.org
Date: 2005-09-06T21:37:06Z
Lists: pgsql-hackers
On Tue, Sep 06, 2005 at 03:58:28PM -0500, Jim C. Nasby wrote:
> On Fri, Sep 02, 2005 at 03:51:15PM -0400, Bruce Momjian wrote:
> > 	  One possible solution is to create a phantom cid which represents a
> > 	  cmin/cmax pair and is stored in local memory.
> 
> If we're going to look at doing that I think it would also be good to
> consider including xmin and xmax as well.

If you do that, you'll never be able to delete or update the tuple.


> This might require persisting to disk, but for transactions that touch
> a number of tuples it could potentially be a big win (imagine being
> able to shrink all 4 fields down to a single int; a 45% space
> reduction).

Yeah, I've heard about compression algorithms that managed to fit
megabytes of data in 8 bytes and even less.  They were very cool.  No
one managed to write decompression algorithms however.  Imagine a whole
data warehouse could be stored in a single disk block!!  I imagine the
development of decompressors was boycotted by SAN vendors and the like.

-- 
Alvaro Herrera -- Valdivia, Chile         Architect, www.EnterpriseDB.com
"Si un desconocido se acerca y te regala un CD de Ubuntu ...
                                     Eso es ...  Eau de Tux"