2010-12-28 3 views
0

J'essaie de résoudre un problème. Je veux créer une architecture vraiment évolutive qui serait une base pour un site Web. Je ne connais pas grand-chose à la recherche d'algorithmes et d'évolutivité, j'ai essayé de googler mais je n'ai pas obtenu de bons résultats donc j'aimerais présenter mon problème et si quelqu'un peut me pointer dans la bonne direction, ce serait génial.Problème de recherche évolutif

Ceci est la configuration ...

Je vais avoir des nœuds (processus en cours d'exécution sur des ordinateurs différents). Chaque nœud sera responsable du stockage des données pour un certain nombre de personnes. Pour chaque personne, j'aurai un ensemble fixe d'attributs. Supposons que les attributs vont changer très souvent.

Comment faire un évolutif, recherche rapide sur tous les nœuds à partir d'un seul nœud?

+1

Dépend de ce que sont les données et de ce que vous recherchez. –

+0

Les données seraient des chaînes simples et quelques valeurs numériques ... comme l'âge et la dernière en ligne. – rusbi

+0

Récupérez-vous uniquement des correspondances exactes? Quels sont les critères de tri? –

Répondre

0

À partir de la question elle-même:

« ? Comment puis-je effectuer une recherche évolutive, rapide à travers tous les nœuds d'un seul noeud »

Votre question montre que ce "noeud unique" va être goulot d'étranglement. Donc, si vous voulez faire vraiment évolutive et nous demander, à propos de la direction, je vous suggère de changer la conception au début dans

Search across nodes, with search queries coming from many nodes 

Pour résumer:

Vous avez demandé how to make scalable architecture one-to-many Je vous suggère de pense comment le faire many-to-many. Que vous pourriez trouver plusieurs façons de chercher une solution en fonction des détails. À partir du paradigme map-reduce, terminer à des implémentations concrètes comme Sector/Sphere.