On Fri, 26 Aug 2005 20:54:09 +0530
Ligesh <gxlists@gmail.com> wrote:
>
> I would like to know if the following kind of database client exists:
> I need a 'select' query to be sent to say 10 db servers
> simultaneously in parallel (using threading), the results should be
> re-sorted and returned. For example I have a query: 'select * from
> table where parent_clname = 'parent' order by name limit 10'. Now
> this query has to be sent to 10 servers, and the maximum number of
> results would be 100. Now this 100 result set has to be re-sorted,
> out of which 90 has to be discarded, and the 10 has to be returned.
>
> Does such a solution exist now. To me this appears to be in entirety
> of what should constitute a database cluster. Only the search needs
> to be done on all the servers simultaneously at the low level. Once
> you get the results, the writing can be determined by the upper level
> logic (which can even be in a scripting language). But the search
> across many servers has to be done using proper threading, and the
> re-sorting also needs to be done fast.
This is typically handled by the application layer, not a standard
client. Mostly because every situation is different, you may have
10 servers and need 10 rows of results, others may need something
entirely different.
This isn't really a "cluster" either. In a clustered environment
you would send the one query to any of the 10 servers and it would
return the proper results.
But like I said this type of application is fairly trivial to write
in most scripting or higher level languages.
---------------------------------
Frank Wiles <frank@wiles.org>
http://www.wiles.org
---------------------------------