My webapp will have to use multiple database shards, and from time to time have to query these shards in parallel. What are the web scripting languages which have mature, stable support for parallel non obstructing database access? If that's the case, are you able to point me within the right direction? Free free is preferred, however i mostly want something which works.

Threads are fine beside me, however i do not require real multi-threads support. All I would like is perfect for five 10-second database queries to 5 different database servers to consider ten seconds and never 50. It does not matter in my experience the number of Processor chips it really used.

Really, it doesn't appear that you'll require parallel non-obstructing I/O--you'll need parallel non-obstructing database access, that is typically handled via a different API.

For instance, in Java, general I/O is handled through components in java.io and java.internet, but database access is handled through java.sql and vendor-specific motorists. Similar qualities are normal of other platforms/languages.

It might appear that the primary problem would then be to implement some type of multiprocessing/multithreading from for you to result in the separate, parallel database access demands. I would recommend that's the primary area that you ought to research.

There's lots of material on that subject, but you will have to concentrate on your unique platform/language for a lot of the detail. Please be aware this is typically a really difficult section of software development.

Good luck for you...

A potential work-around would be to divide the site to ensure that each part only hits one shard. The browser should launch another AJAX request each part and construct the page client-side.

This solution wouldn't rely on the selected language/framework, but requires enabling JavaScript around the client side.

The performance might vary based on each visitor's OS, browser and configurations (more info). However, the page would render incrementally the moment data from each area of the page comes available.

As disadvantages in comparison towards the server-side solution, this process moves complexity in the server to client-side JavaScript and boosts the load on the internet server.