• Aucun résultat trouvé

Chapitre 3. Etat de l’art des modèles et mécanismes

3.3 Sélection de données

3.3.1 Principes de distribution des informations

Afin de procéder à la sélection des données, nos travaux se sont inspirés de ceux issus de la communauté informatique traitant des bases de données distribuées. La thèse de S. Kubler

[Thèse2] présente un état de l’art des méthodes de sélection de données dans les systèmes

distribués. Nous en présentons ici une synthèse rapide permettant de comprendre les principes et les fondements de la distribution de l’information, en partant d’une taxonomie générale présentée figure 20, qui sert de base pour classer les travaux de la littérature.

Dans le contexte des bases de données distribuées, le terme « distribution » est utilisé pour regrouper deux processus que sont :

− La fragmentation : première étape dont l’objet est de subdiviser les tables du modèle physique de données en éléments simples appelés fragments ;

− L’allocation : deuxième étape qui consiste à allouer les fragments de données résultants à l’ensemble des sites composant le système d’information.

Notre objectif est de l’adapter à notre cas d’étude pour réaliser la sélection des données à mettre dans la matière communicante.

La taxonomie des travaux en distribution de données se compose de deux branches principales liées respectivement à la phase de fragmentation et à la phase d’allocation des données. Ces deux phases peuvent être soit statiques soit dynamiques. Une fragmentation ou une allocation statique signifie que le schéma de découpage des données n’est jamais amené à évoluer au cours du temps. En effet, le résultat de ces opérations n’est jamais remis en cause, ce qui s’avère problématique lorsque les caractéristiques de l’application évoluent fortement (p. ex. nombre de requêtes exécutées). Les approches dynamiques permettent de solutionner ce problème en réalisant une nouvelle fragmentation ou une réallocation des fragments de données lorsque cela est nécessaire. La taxonomie montre que trois types de fragmentation existent : verticale (V),

horizontale (H) et hybride/mixte (M), et qu’il est possible d’effectuer un chevauchement

d’attributs ou de tuples, appelé overlapping. Les trois types de fragmentation et la notion d’overlapping sont introduits par la suite. On remarque également que l’allocation de fragments de données peut se faire avec ou sans réplications. Dans le cas où une réplication est mise en oeuvre, plusieurs mécanismes peuvent être implémentés pour assurer la cohérence et la disponibilité des données. Il s’agit des mécanismes Synchrone (S), Asynchrone (As), Primary

74

Figure 20. Taxonomie de distribution de l'information

Etape de fragmentation

L’étape de fragmentation des données consiste à diviser puis regrouper des données issues d’une table, aussi appelée « relation ». Les attributs de la table correspondent aux colonnes, les lignes sont appelées des « tuples » ou « instances » de la relation et l’intersection entre une ligne et une colonne correspond à une cellule de la table, appelée également « data item » en termes anglo-saxon (figure 21).

Figure 21. Exemple de relation

La fragmentation verticale (V) consiste à fragmenter les attributs d’une relation. La fragmentation horizontale (H) consiste à fragmenter un grand nombre d’instances en sous-ensembles disjoints (c.-à-d., à grouper les tuples d’une relation). Enfin, la fragmentation hybride/mixte (M) divise dans un premier temps les relations horizontalement, puis chaque fragment obtenu est divisé à son tour de manière verticale ou vice-versa (figure 22 (a)). La fragmentation verticale est généralement utilisée durant la phase de conception de la base de données (Navathe et al., 1984) et par conséquent, est plus appropriée aux phases dites statiques. À l’inverse, la fragmentation horizontale est plus appropriée pour les mécanismes dynamiques. Dans les deux types de fragmentation, il est possible de réaliser de l’overlapping : overlapping d’attributs dans le cadre de la fragmentation verticale et overlapping de tuples dans le cadre de la fragmentation horizontale. Par définition et comme introduit précédemment, on dit qu’il y a

overlapping lorsque l’intersection de deux fragments n’est pas vide, comme illustré sur la figure

75

Figure 22. Stratégies de fragmentation et principe d'overlapping

La table 3 positionne les travaux significatifs selon la taxonomie générale présentée dans la figure précédente. L’intitulé de chaque colonne correspond à un aspect précis de la taxonomie (branche dédiéeà la fragmentation).

Table 3. Travaux majeurs en fragmentation de bases de données

Fra g m en ta ti o n Ov er la p p in g Dy n am iq u e Stati q u e (Navathe et al., 1984) V (Apers, 1988) M (Navathe et Ra, 1989) V

(Navathe, Karlapalem et Ra, 1995) M

(Son et Kim, 2004) V

(Tamhankar et Ram, 1998) M

(Baião, Mattoso et Zaverucha, 2002) M

(Ezeife et Barker, 1998) V

(Bellatreche, Karlapalem et Simonet, 1997) H

(Chakravarthy et al., 1994) V

(Hauglid, Ryeng et Nørvåg, 2010) H

(Abuelyaman, 2008) V

(Sleit et al., 2007) M

(Khan et Hoque, 2010) H

(Fung, Karlapalem et Li, 2002) V

(Malinowski et Chakravarthy, 1997) V

(Darabant, Campan et Navroschi-Szasz, 2004) H

(Ezeife et Zheng, 1999) H

(Pinto et Torres, 2002) H

(Adrian Runceanu, 2007) M

Pour réaliser la fragmentation, les différentes méthodes listées dans la table reposent sur l’optimisation de fonctions objectifs portant sur les critères suivants :

76

− Ensemble des attributs de la classe (fragmentation verticale) ; − Affinités entre attributs ;

− Ensemble des tuples (fragmentation horizontale) ;

− Ensemble des méthodes de la classe (cas particulier des bases de données objets) ; − Ensemble des requêtes de données (lecture/écriture) ou des transactions ;

− Fréquence de chaque requête ou transaction.

Etape d’allocation

La phase d’allocation intervient à la suite de la fragmentation. Elle a pour but d’établir l’assignation optimale des fragments de données sur les différents sites composant l’architecture informatique. La figure 23 illustre l’assignation de 4 fragments de données verticaux sur différents sites. Certains sites disposent de fragments (PC portable, Serveur 1,

PC2, Serveur 2) et d’autres non (PDA, PC1).

Habituellement, les méthodes tendent à assigner les fragments aux sites y accédant le plus afin de réduire les coûts de communication.

Figure 23. Exemple d'allocation des fragments de données

Note sur la réplication des fragments

Lors de l’étape d’allocation, il est possible de répliquer un même fragment sur plusieurs sites comme illustré sur la figure 23 (le fragment F4 est répliqué sur Serveur 1, PC2 et Serveur 2). Ceci permet de garantir la fiabilité du système, mais également d’optimiser ses performances (Padmanabhan et al., 2008) (p. ex., réduction du trafic sur le réseau, gain de temps pour les utilisateurs). Cependant, la réplication des données nécessite des mécanismes gérant à la fois la diffusion des modifications (c.-à-d. les mises à jour des répliques) et les règles d’accès aux informations (autoriser un site ou un groupe de sites à modifier des répliques). Les informations et les attentes applicatives influent fortement sur les mécanismes à mettre en œuvre. L’identification du mécanisme de réplication le plus approprié dépend de deux facteurs : − Quand est-ce que les mises à jour doivent être propagées ? Deux modes existent :

➢ Mode Synchrone (S) : il est nécessaire d’avertir et de recevoir l’acquittement de l’ensemble des sites avant d’effectuer une modification d’un fragment de données ; ➢ Mode Asynchrone (As) : il permet de réaliser des modifications localement, sans en

avertir ses pairs.

77

➢ Principe de la Copie Primaire (Primary copy - Pc) : il n’autorise qu’un seul site à effectuer la modification du fragment,

➢ Principe de la mise à jour par « tout le monde » (Update everywhere - Ue) : il autorise un groupe de sites à effectuer des mises à jour sur le fragment.

La Table 4 présente une classification des travaux traitant des mécanismes d’allocation. Chaque intitulé de colonne correspond à un aspect particulier de la taxonomie et a été décrit dans la section 2.2. Notons que dans les colonnes intitulées « Allocation » et « Réplication », nous spécifions si la méthode d’allocation requiert une fragmentation particulière (H, V, M) et si la réplication repose sur un mode particulier (Pc, Ue, S, As). Si uniquement le symbole « » est précisé, cela signifie qu’aucune information n’a pu être extraite à ce sujet.

Table 4. Travaux majeurs sur l'allocation de fragments

Comme dans le cas des méthodes de fragmentation, beaucoup de critères sont communs aux fonctions objectifs et aux algorithmes implémentés. Les principaux sont :

− L’ensemble des fragments/objets dans le système ; − La taille de chaque fragment/objet ;

− L’ensemble de sites composants le système de bases de données (clients et serveurs) ; − La capacité de stockage de chaque site ;

− L’ensemble des requêtes (lecture/écriture) ou des transactions ;

Fra g m en ta ti o n All o ca ti o n R ép lica ti o n Dy n am iq u e Stati q u e (Apers, 1988) M M (Loukopoulos et Ahmad, 2004) Pc (Huang et Chen, 2001) M Ue (Ahmad et al., 2002) (Tamhankar et Ram, 1998) M M Pc (Ulus et Uysal, 2003) M

(Brunstrom, Leutenegger et Simha, 1995) H

(Hauglid, Ryeng et Nørvåg, 2010) H H Pc

(Singh et Kahlon, 2009)

(Chin, 2002)

(Hababeh, Bowring et Ramachandran,

2005)

(Sleit et al., 2007) M M

(Blankinship, Hevner et Yao, 1991)

(Chaturvedi, Choubey et Roan, 1994) M

(Uysal et Ulus, 2007) M

(Petrescu, 2010) Pc-Ac 

(Grebla et al., 2004) H 

(Tasharofi et Basseda, 2006)  

78

− La fréquence des requêtes ou des transactions ; − Le coût associé aux requêtes de lecture/écriture ; − Le coût de communication entre sites ;

− Le coût de stockage de chaque fragment de données sur chaque site.

Beaucoup de ces méthodes sont dédiées à des architectures fixes et sont utilisées pour la distribution de « grands » systèmes d’informations, où on ne considère généralement pas la présence de vecteurs d’informations mobiles tels que des ordinateurs portables, des téléphones mobiles ou encore la présence de produits/matières communicant(e)s. Par conséquent, la prochaine section s’intéresse aux solutions et mécanismes utilisés dans le cadre d’environnements mobiles. En effet, notre matière communicante soulève des problèmes particuliers comme sa capacité mémoire limitée, ou la perte de connexion au réseau qu’elle occasionne du fait de sa mobilité.