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.
>
>
>
>