Nathanel,
> Create a virtual database maindatabase{
> Agent1: host:port:databasename1
> Agent2: host:port:databasename2
> ...
> Agentn: host:port:databasenamen
> }
>
> and that all, you can use the maindatabase like you query normal database
> (but you can't update it, you are responsible to update directly the shard)
A database that you can't update is not a database! It is a block of data that
you can query.
The key problem with sharding is that it does not handle active changes to the
data, which makes it of little use for a true database. If you think that
sharding will work for you, that's great, more power to you.
But realize that there are very real problem with those types of analysis
solutions when dealing with OLTP databases -- otherwise there would be
solutions available (that don't have license fees that are more than the total
sending cost of sending a child to a US Ivy League school for 4 years).
Sean