2008-12-08 11 views
1

Ma webapp devra utiliser plusieurs fragments de base de données, et devra occasionnellement interroger ces fragments en parallèle. Existe-t-il des langages de script Web dotés d'un support mature et stable pour l'accès à une base de données parallèle non bloquante? Si oui, pouvez-vous me pointer dans la bonne direction? L'open source libre est préféré, mais je veux surtout quelque chose qui fonctionnera.Langage de script Web avec accès parallèle non bloquant à la base de données?

Les threads me conviennent, mais je n'ai pas besoin d'un véritable support multi-thread. Tout ce que je veux, c'est que cinq requêtes de base de données de 10 secondes à cinq serveurs de bases de données différents prennent 10 secondes et non 50. Peu importe le nombre de processeurs réellement utilisés.

Répondre

1

En fait, il ne semble pas que vous ayez besoin d'E/S parallèles non bloquantes - vous avez besoin d'un accès à la base de données parallèle non bloquant, généralement géré par une API différente. Par exemple, en Java, les E/S générales sont gérées par des composants dans java.io et java.net, mais l'accès à la base de données est géré par les pilotes java.sql et spécifiques au fournisseur. Des caractéristiques similaires sont typiques d'autres plates-formes/langues.

Il semblerait que votre problème principal serait alors d'implémenter une sorte de multitraitement/multithreading à partir de laquelle vous pourriez faire les demandes séparées, parallèles d'accès à la base de données. Je suggère que c'est le principal domaine que vous devriez rechercher.

Il y a beaucoup de matériel disponible sur ce sujet, mais vous devrez vous concentrer sur votre plate-forme/langue pour une grande partie du détail. S'il vous plaît noter que ceci est traditionnellement un domaine très difficile de développement de logiciels.

Meilleurs voeux à vous ...

+0

Merci, j'ai mis à jour à la poste pour spécifier "accès à la base de données" et non "io". Je les ai souvent vus ensemble dans mes recherches, car ils ont parfois des solutions communes, comme des discussions. – eshan

0

Un travail autour possible est de diviser la page Web de sorte que chaque partie frappe un seul tesson. Le navigateur doit lancer une requête AJAX séparée pour chaque partie et construire la page côté client.

Cette solution ne dépend pas du langage/cadre choisi, mais nécessite l'activation de JavaScript côté client.

Les performances peuvent varier en fonction du système d'exploitation, du navigateur et des paramètres de chaque visiteur (more info). Cependant, la page s'affichera de façon incrémentielle dès que les données de chaque partie de la page seront disponibles.

Comme inconvénients par rapport à la solution côté serveur, cette méthode déplace la complexité du serveur vers le JavaScript côté client et augmente la charge sur le serveur Web.