> I've read about using symbolic links, but only for using 
> multiple data 
> directories, not splitting a file (not to mention, across 
> more than one node).  

Symlinks wont work for splitting a file...


> Since MySQL doesn't directly support this, any ideas on doing 
> it at the OS 
> level to 'trick' MySQL into believing its all in a single 
> directory as a single 

Ironically enough, I was at one point looking for a Linux kernel module
that would have done something fairly close to this...  Never got it
anywhere NEAR done though.

However, even if you *could* split the data file at the OS level,
whatever did the splitting would need to be aware of how the data is
structured and split it in a meaningful way.  Simply chopping the file
into N pieces would be worse than useless (you'd very likely wind up
with a row that was partly in one file and partly in another, plus you
wouldn't be able to reliably predict which rows were in which
partitions).


> table?  It's looking more like I may have to build a DBsmart 
> API to select the 
> partition/machine containing the data I need.  I recall a 
> group of sharpsters 
> at Temple U. did something  similar to that.

I'm unfamiliar with any such project.  However you still have the
problem of naming collisions.  If you want the table to be named "foo"
regardless of which partition it's in, and the master has copies of all
partitions -- how would you arrange things on the master to avoid the
naming collision?  Thus we come back to using distinct table names for
the partitions.  On the master you can have a table "foo" which is the
logical aggregate of all the partitions, and on any given machine you
can have a table "foo" which is the logical aggregate of all the
partitions that exist on that particular machine if you use the RAID
table type.

Alternatively you could consider a database like DB2 which supports
seamlessly partitioning a table across N machines in a DB cluster based
on the value of a key column (the "portioning key"). In such an
arrangement, all rows with value X exist on server A, all rows with
value Y exist on server B, and any process accessing any server will see
one table that contains all rows (accessing rows from another server
will be slower of course).

-JF


-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to