WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Mutualisation de requêtes XQuery sur des Flux RSS dans un environnement Pair-à-Pair

( Télécharger le fichier original )
par Mohammed Salah Benamira
Université de Versailles Saint Quentin en Yvelines - Master 2 Recherche 2007
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

2.3 Approche e-commerce 

C'est une approche pour l'optimisation des requêtes distribuées [3], inspirée du e-commerce, elle considère les requêtes et leurs réponses comme des marchandises, les pairs voulant exécuter des requêtes comme des acheteurs, et ceux qui en répondent comme des vendeurs.

La marchandise (la réponse) a un prix (coût), ce dernier prend en compte plusieurs facteurs, à savoir, la fraîcheur ou la complétude des données, le temps total d'exécution, ou bien le nombre d'octet de la réponse.... Le prix de la marchandise varie au cours du temps en fonction de l'offre / demande. Si une marchandise est trop demandée, son coût augmente, et l'inverse est vrai.

Dans un tel environnement, trouver la réponse d'une requête nécessite parfois que la requête soit éclatée en plusieurs sous parties, récupérer les sous réponses des pairs distants (vendeurs), avec le prix le moins cher, et les fusionner pour construire la réponse à la requête initiale.

Pour mieux comprendre cette approche, prenons un exemple d'une société de télécommunication, qui dispose de plusieurs bureaux en France. Chacun des ces bureau possède un SGBD local. Le schéma de la base comprend la relation CLIENT (IDClient, NomClient, Bureau) qui stocke les informations du client comme son nom, son identifiant ..., ainsi qu'une autre relation FACTURE (FID, NuméroTel, IDClient, Montant) détenant l'historique des communications du client.

Supposant que le manager du bureau de paris, demande le montant total des factures émises par les bureaux de Lyon et Metz :

SELECT SUM(Montant) FROM FACTURE F, CLIENT C

WHERE F.IDClient=C.IDClient AND Bureau in (`Lyon',`Metz');

Le bureau de paris va interroger tous les bureaux qu'ils aient ou non la réponse à la (sous partie) requête. Supposant que, entre autre, les bureaux Lyon et Metz ont répondu positivement aux parties de la requête concernant leurs propres clients avec un prix à 30 et 40 secondes respectivement.

Supposant aussi que les offres de Metz et Lyon soient les meilleures, et que le prix ici représente le temps d'exécution de la (sous partie) requête.

Le bureau de paris va comparer ces offres, et il va constater que la meilleure offre est celle faite par les bureaux Lyonnais et Messins.

On dit ici que le pair parisien (acheteur) a acheté les réponses (marchandises) des pairs (vendeurs) lyonnais et Messins à un prix de 30 et 40 secondes respectivement, mais ensuite, il peut négocier le prix. La négociation sera exposée par la suite.

2.3.1 Query Trading ou Commerce de requêtes (QT)

Dans QT, la procédure d'optimisation des requêtes est considérée comme un commerce des réponses entre les pairs vendeurs, possédant les données relevantes aux requêtes. Les pairs acheteurs sont les pairs qui ne peuvent pas répondre à certaines requêtes, soit parce qu'ils manquent de ressources (CPU, mémoire...), ou bien ils n'ont pas les données relevantes à la requête localement.

Chaque pair peut jouer le rôle d'acheteur ou de vendeur, ça dépend de la requête qu'on veut optimiser et des données que chaque pair détient localement.

Le pair acheteur demande des services aux pairs vendeurs, pour le calcul de la réponse à la requête, et les pairs vendeurs répondent en faisant des offres qui contiennent l'estimation du coût de la réponse à la requête. Cette estimation pourra être le temps requis pour l'exécution et la transmission des résultats au pair acheteur, le temps nécessaire pour trouver la première ligne du résultat, le temps moyen pour récupérer les lignes du résultat, le nombre total des lignes du résultat, la fraicheur ou la complétude du résultat.

L'acheteur classe les offres reçues, et choisit celles qui minimisent le prix (coût) relatif à la requête.

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Il y a des temps ou l'on doit dispenser son mépris qu'avec économie à cause du grand nombre de nécessiteux"   Chateaubriand