• Aucun résultat trouvé

2.6 Partage de données dans un PDMS

2.6.1 Définition d’un PDMS

Les PDMS sont une convergence naturelle entre les systèmes P2P et les bases de données distri- buées. En effet, un PDMS peut être vu comme une généralisation d’un système d’intégration de données car étant un système dynamique et distribué dont le but principal est le partage autonome de données structurées à grande échelle. En observant l’évolution de la recherche dans les systèmes P2P et les bases de données, on se rend compte de cette convergence. En effet, les premiers efforts de recherche étaient concentrés sur les topologies et le routage de requêtes simples basées uniquement sur un attribut. Une seconde étape a été l’introduction de la recherche multi-dimensionnelle (avec plusieurs attributs) et, à l’état actuel, les travaux sont orientés sur des requêtes plus expressives. En accord avec le pouvoir d’ex- pression des requêtes, les systèmes P2P peuvent être classés en systèmes basés sur les clés, les mots-clés ou encore les schémas[29]. Ce dernier type de système correspond aux PDMS et peut être vu comme une évolution des bases de données distribuées vers une plus grande distribution. Contrairement à un DDMS, un PDMS adopte une approche entièrement décentralisée pour le partage des données. Chaque pair maintient sa propre source de données, et par conséquent, son propre schéma, qu’il peut partager en totalité ou en partie avec le reste du système. En distribuant le stockage de données, le traitement et l’exécution des requêtes entre pairs, ces types de systèmes peuvent passer à l’échelle d’un nombre important de nœuds sans nécessiter un contrôle central ni de serveurs puissants. De plus, l’efficacité et la qualité de service sont fournies en dépit de l’apparition de fautes dues à la nature dynamique du système.

D’autre part, un PDMS hérite des caractéristiques essentielles d’un système P2P classique, c’est-à-dire, l’auto-organisation, la communication symétrique et le contrôle distribué, notamment pour les requêtes.

Figure 2.13 – Combinaison entre schémas et distribution[83].

L’autonomie est la caractéristique la plus significative d’un PDMS. Elle peut être décrite de trois points de vue[112]. L’autonomie dans le stockage fait référence à la liberté pour le pair de déterminer le contenu qu’il voudrait stocker, mais aussi du contenu qu’il voudrait partager avec les autres pairs. L’autonomie dans l’exécution signifie la possibilité pour chaque pair de traiter localement et de répondre à une requête tout en autorisant la coordination avec les autres pairs participant à la réponse pour effectuer de façon efficace le traitement de la requête distribuée. L’autonomie dans la durée de vie fait référence à la liberté pour le pair de joindre ou quitter le réseau à tout moment, ce qui diffère fortement d’avec les bases de données distribuées. Enfin, l’autonomie de connection concerne la topologie du système et autorise un pair à choisir à quels pairs mais aussi à combien d’entre eux se connecter.

Comme nous l’avons vu dans les sections précédentes, un certain nombre d’algorithmes, toutes ap- partenant à la famille DHT, ont été définis pour la recherche unidimensionnelle (avec un attribut). Cepen- dant, cette recherche devient beaucoup plus compliquée dans le cas d’une requête complexe impliquant plusieurs attributs. Ces approches sont difficilement applicables dans le cas du PDMS parce que cela nécessite la mise en place d’un réseau sous-jacent pour chaque attribut, ce qui a un coût prohibitif.

D’autre part, un certain nombre de suppositions faites par les DDMS durant les phases de découverte de correspondances et de traitement de requêtes sont révisées par les PDMS en ajoutant des exigences additionnelles :

• Structure centrale : Là où un DDMS n’autorise que les correspondances sémantiques les sources et

le schéma médiateur, un PDMS permet d’établir ces correspondances entre n’importe quel couple de sources de données et ne supporte pas de schéma global. En l’absence de schéma global, les pairs doivent pouvoir exprimer les requêtes sur leurs propres schémas. Dans ce cas, le PDMS reformule la requête sur les voisins du pair en utilisant les correspondances sémantiques. D’autre part, chaque pair pourra accepter ou refuser l’exécution d’une requête en fonction de sa charge de travail, ce qui n’est pas possible dans les DDMS puisque la sélection de ces pairs est faite de façon

centralisée par le module d’optimisation de requêtes.

• Uniformité : L’optimisation traditionnelle dans les DDMS suppose que toutes les puissances de

calcul et les connections ont respectivement la même valeur et la même vitesse. De plus chaque pair est supposé pouvoir prendre en charge l’exécution de n’importe quel opérateur algébrique. Ces suppositions deviennent caduques dans un PDMS. En effet, les PDMS profitent de l’hétérogénéité des pairs en termes de capacité de stockage, de puissance de calcul et de bande passante pour assigner plus de tâches à certains pairs.

• Plans de requêtes statiques : Contrairement aux DDMS dans lesquels les plans de requêtes sont

statiques, l’adaptabilité des plans de requêtes aux départs des pairs durant l’exécution est une caractéristique principale des PDMS. L’adaptabilité peut être réalisée en changeant entièrement ou partiellement le plan d’exécution courant.

Dans les DDMS, un seul pair est responsable de toutes les étapes du processus de traitement d’une requête à l’exception de la dernière, étant donné que plusieurs pairs peuvent participer à l’exécution de la requête. A l’opposé, les PDMS permettent à chaque pair de pouvoir assister à toutes les étapes du processus de traitement des requêtes.

Il existe un ensemble de PDMS proposés dans la littérature et évoquant le processus de médiation sémantique et de traitement de requêtes. Cependant, il semble surréaliste de réaliser une approche qui soit optimale pour tous ces aspects. Au contraire, des décisions doivent être prises et doivent aller dans le sens de compromis entre la médiation sémantique, l’expressivité des requêtes et l’efficacité du processus de traitement des requêtes.

Notre approche est complémentaire à ces propositions antérieures. Nous nous intéressons particu- lièrement à la médiation de données et au traitement des requêtes dans le cas ou chaque pair abrite des données, de n’importe quel domaine, conforme à un modèle de données quelconque et, par conséquent, dispose de son propre langage d’interrogation. Dans la suite, nous mettons l’accent sur les paramètres à prendre en compte dans la conception d’un PDMS et nous classons les systèmes existants en accord avec ces paramètres.