Re: [HACKERS] tables >2GB

Marc G. Fournier <scrappy@hub.org>

From: The Hermit Hacker <scrappy@hub.org>
To: David Gould <dg@illustra.com>
Cc: Bruce Momjian <maillist@candle.pha.pa.us>, hackers@postgreSQL.org
Date: 1998-03-19T20:14:24Z
Lists: pgsql-hackers
Does this act as a notice of volunteering to work on this aspect of the
code? *Grin*


On Thu, 19 Mar 1998, David Gould wrote:

> > > Now that we know the storage manager code that splits tables over 2GB
> > > into separate files doesn't work(Irix), can we rip out that code and
> > > just use the OS code to access >2GB files as normal files.  Now, most
> > > OS's can support 64-bit files and file sizes.
> > > 
> > > Because it is isolated in the storage manager, it should be easy.
> > 
> > Can someone knowledgeable make a patch for this for our mega-patch?
> > 
> 
> There are still quite a few OS's out there that do not support >2GB files
> yet. Even my beloved Linux (x86)...
> 
> So, how about we fix the storage manager instead?
> 
> A neat thing that Illustra does is allow you to stripe a table across
> multiple directories. You get big tables, easy storage management, and
> a nice performance boost.
> 
> create stripedir('stripe1', '/disk1/data/stripe1');
> create stripedir('stripe2', '/disk2/data/stripe2');
> 
> create table giant_table (...) with (stripes 4, 'stripe1', 'stripe2');
>  -- the '4' is the number of pages to interleave.
> 
> Then the smgr just distributes the blocks alternately across the stripes.
> 
> read_block(blockno, ...stripeinfo)
> {
>    ...
>    stripe = (blockno / stripe_interleave ) % number_of_stripes;
>    stripe_block = blockno / number_of_stripes;
> 
>    fd = stripe_info->fd[stripe];
>    lseek(fd, stripe_block * BLOCKSIZE, SEEK_SET);
>    ...
> }
> 
> All vastly oversimplified of course....
> 
> -dg
> 
> David Gould            dg@illustra.com           510.628.3783 or 510.305.9468 
> Informix Software  (No, really)         300 Lakeside Drive  Oakland, CA 94612
>  - I realize now that irony has no place in business communications.
> 
>    
>    
>