pubAchetez de l'or en Suisse en ligne avec Bullion Vault


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

Etude d'une réplication symétrique asynchrone dans une base de données répartie. Application à  l'enrôlement des électeurs


par Djedje NKONGOLO
Université de Kinshasa - Licence 2011
Dans la categorie: Informatique et Télécommunications
   
Télécharger le fichier original

précédent sommaire suivant

I.2.2. CARACTÉRISTIQUES D'UNE BASE DE DONNÉES RÉPARTIE

ü La distribution de données : les données ne résident pas dans le même site.

ü Corrélation logique des données: les données possèdent les propriétés qui les tiennent ensemble.

ü Une structure de contrôle hiérarchique basée sur un administrateur des bases de données globales qui est le responsable central sur les bases de données réparties entières et sur les administrateurs des bases de données locales, qui ont la responsabilité de leur base de données respective.

ü L'indépendance des données et la transparence de répartition.

ü La redondance des données qui permet l'accroissement de l'autonomie des applications et la disponibilité des informations en cas de panne d'un site.

ü Un plan d'accès réparti écrit soit par le programmeur ou produit automatiquement par un optimiseur.

I.2.3. CONCEPTION DE LA BASE DE DONNÉES RÉPARTIE

La conception d'une base de données répartie peut être le résultat de deux approches totalement distinctes, soit d'une part la nécessité de connecter la multitude de base de données existantes, ainsi que la disponibilité nécessaire à la globalisation des systèmes informatiques. D'où, la mise en place d'une base de données répartie se résume en quatre étapes :

ü La conception du schéma globale

ü La conception de base de données physique locale dans chaque site

ü La conception de la fragmentation

ü La conception de l'allocation des fragments

A. La conception du schéma globale

Dans une entreprise, privée ou publique, les bases de données réparties ou distribuées (distributed data bases, en anglais) permettent de réaliser des applications qui nécessitent le stockage, la maintenance et le traitement des données en plusieurs endroits différents.

Une base de données est décentralisée ou répartie lorsqu'elle est modélisée par un seul schéma logique de base de données, mais implémentée dans plusieurs fragments de tables physiques sur des ordinateurs géographiquement dispersés.

L'utilisateur d'une base de données répartie se focalise sur sa vue logique des données et n'a pas besoin de se préoccuper des fragments physiques.

C'est le système de bases de données qui se charge lui-même d'exécuter les opérations, soit localement, soit en les distribuant sur plusieurs ordinateurs en cas de besoin.

La définition du schéma global de répartition est la partie la plus délicate de la phase de conception d'une base de données car il n'existe pas de méthode miracle pour trouver la solution optimale.

L'administrateur doit donc prendre des décisions dont l'objectif est de minimiser le nombre de transferts entre sites, les temps de transfert, le volume de données transférées, les temps moyens de traitement des requêtes, le nombre de copies de fragments, etc...

Le schéma global se subdivise en trois schémas qui sont :

Le Schéma interne

Le Schéma conceptuel

Le Schéma Externe

Schéma Interne

Le schéma interne décrit l'accès physique aux occurrences des relations, il est constitué de l'ensemble des descriptions des fichiers et/ou par un ensemble des Schémas de relations internes.

Schéma conceptuel

Le schéma conceptuel est l'ensemble des schémas des relations de base et l'ensemble des contraintes d'intégrités, c'est la vue globale de la base de données.

Le schéma conceptuel est composé de relations fragmentées ou d'une relation composée d'une ou de plusieurs sous-relations, la distinction de deux approches dans sa mise en oeuvre.

Schéma externe

Le schéma conceptuel est un sous-ensemble du schéma conceptuel composé de l'ensemble des schémas de relations abstraites définies sur la relation de base du schéma conceptuel.

1. Approche descendante

Dans l'approche descendante, on commence par définir un schéma conceptuel global de la base de données répartie en respectant les règles de la normalisation. Cependant pour de raison de performance, les relations sont découpées horizontalement par des restrictions simple ou verticalement par des projections puis réparties sur les différents sites en schémas conceptuels locaux.

L'approche descendante permet de maitriser la complexité de la répartition (fragmentation, duplication, placement) et la définition des schémas locaux à partir du schéma global.

Schéma Conceptuel Global

Schéma Conceptuel Local 1

Schéma Conceptuel Local 2

Schéma Conceptuel Local 3

Figure 1.1. Approche Descendante

2. Approche ascendante

Elle se base sur le fait que la répartition est déjà faite, mais il faut réussir à intégrer les différentes bases de données existantes en une seule base de données globale c'est-à-dire que les relations du schéma conceptuel sont définies à partir des schémas externes ou conceptuels des bases de données déjà en exploitation et que l'on ne veut pas modifier.

Schéma Conceptuel Global

Schéma Conceptuel Local 1

Schéma Conceptuel Local 2

Schéma Conceptuel Local 3

Figure 1.2. Approche Ascendante

La différence la plus importante avec l'approche descendante précédente est que la fragmentation est conditionnée par la structure des fragments. On rencontre deux problèmes importants, celui de duplication partielle de n-uplets et celui des valeurs indéfinies des certains attributs.

B. La conception de la fragmentation

La fragmentation est un processus de décomposition d'une base de données logique en un ensemble de « sous » base de données logiques appelées « fragments », donc d'un schéma global en un ensemble des schémas locaux sans perte d'informations c'est-à-dire qu'on peut recomposer le schéma conceptuel global en partant des schémas conceptuels locaux.

Cette décomposition est assurée par une fonction de définition qui préserve les arguments lors de son application.

De plus, les différents fragments doivent de préférence être exclusifs (leur intersection est vide) puisqu'une fragmentation non exclusive implique une duplication. D'où, il faudra affiner la fragmentation en produisant des fragments plus petits.

1. Règles de fragmentation

Les fragments sont déterminés en tenant compte de :

ü La complétude : pour toute donnée de la relation globale R, il existe un fragment Ri de la relation qui possède cette donnée c'est-à-dire toutes les données de la relation globale doivent être reprises dans les fragments.

ü La reconstruction : pour toute relation globale R décomposée en un ensemble de fragments Ri, il existe une opération de reconstruction c'est à dire qu'il y a une possibilité de reconstruction de chaque relation globale à partir de ses fragments.

ü La disjonction : permet de contrôler la redondance au niveau d'allocation, il est souhaitable d'avoir de fragment disjoint.

2. Technique de fragmentation

Il existe plusieurs techniques de fragmentation définies par unité de fragment :

a) Fragmentation horizontale

La fragmentation horizontale consiste à partitionner les n-uplets d'une relation globale en des sous-ensembles. Une relation globale est fragmentée horizontalement lorsqu'elle est formée par l'union des fragments des relations locales qui peuvent être considérés comme des restrictions de la relation globale.

ü L'opération de partitionnement est la sélection

ü L'opération de recomposition est l'union

Client 1

Client

Client 2

Numéro

Nom

Localité

1

APOULAH

KINSHASA

2

DJEDJE

KINSHASA

3

MAMIE

LUBUMBASHI

4

YANNICK

LUBUMBASHI

Numéro

Nom

Localité

1

APOULAH

KINSHASA

2

DJEDJE

KINSHASA

Numéro

Nom

Localité

3

MAMIE

LUBUMBASHI

4

YANNICK

LUBUMBASHI

Figure 1.3. Fragmentation Horizontale

b) Fragmentation verticale

La fragmentation verticale est la subdivision de certains attributs de la relation globale en groupe. Les fragments sont obtenus par projection de la relation globale sur chaque groupe, donc une relation globale est fragmentée verticalement quand elle est formée par une composition de plusieurs relations locales.

La fragmentation verticale est utile pour distribuer les parties des données sur les sites ou chacune de ces parties est utilisée.

ü L'opération de partitionnement est la projection

ü L'opération de recomposition est la jointure

Commande

Code_cmde

Client

Produit

quantité

001

01

Sucre

100

002

02

Maïs

500

003

03

Manioc

200

004

04

Arachide

150

Commande 1

Code_cmde

Produit

001

Sucre

002

Maïs

003

Manioc

004

Arachide

Commande 2

Code_cmde

Produit

Quantité

001

Sucre

100

002

Maïs

500

003

Manioc

200

004

Arachide

150

Figure 1.4. Fragmentation Verticale

c) Fragmentation mixte

La fragmentation mixte est la combinaison de deux fragmentations précédentes, dont l'opérateur de partitionnement est la combinaison de la projection et de la sélection et celui de la recomposition, la combinaison de la jointure et de l'union.

D. Allocation des fragments

L'allocation des fragments est une méthode qui permet d'affecter les fragments sur les sites donnés en fonction de l'origine (sites d'émission) des requêtes enfin de minimiser les transferts des données entre les sites.

L'allocation peut se faire de deux manières, l'allocation sans réplication et l'allocation avec réplication.

a) Allocation sans réplication

L'allocation sans réplication est facile à réaliser, il suffit d'associer à chaque allocation une mesure et à chaque site une meilleure mesure. C'est une solution qui ne tient pas compte de l'effet naturel, il faut placer un fragment dans un site donné si un autre fragment apparenté est aussi dans ce site.

b) Allocation avec réplication

L'allocation avec réplication est réalisée en appliquant l'une de deux méthodes suivantes :

ü Déterminer l'ensemble de tous les sites dont l'importance d'allouer une copie est d'intérêt plus élevé que le coût de transfert puis allouer une copie de fragment à chaque élément de cet ensemble.

ü Déterminer premièrement la solution du problème qui n'est pas la réplication et introduire progressivement les copies en commençant par celles qui sont plus avantageuses. Le processus prend fin si aucune réplication additionnelle n'est avantageuse.

L'allocation avec réplication favorise les performances des requêtes et la disponibilité de données.

c) Technique de répartition avancée

Dans le cas où la méthode classique d'allocation des fragments ne s'avèrent pas satisfaisante, des techniques plus puissantes mais aussi complexes à mettre en oeuvre doivent être envisagées :

ü Allocation avec duplication des fragments

ü Allocation dynamique des fragments

ü Fragmentation dynamique

ü Clichés

a. Allocation avec duplication

Certains fragments peuvent être dupliqués sur plusieurs sites (éventuellement sur tous les sites) ce qui procure l'avantage d'améliorer les performances en termes de temps d'exécution des requêtes (en évitant certains transferts de données). Elle permet aussi une meilleure disponibilité des informations (connues de plusieurs sites), et une meilleure fiabilité contre les pannes. Par contre, l'inconvénient majeur est que les mises à jour doivent être effectuées sur toutes les copies d'une même donnée. En conséquence, moins un fragment est sujet à des modifications, plus il est prédisposé à la duplication.

b. Allocation dynamique

Avec cette technique, l'allocation d'un fragment peut changer en cours d'utilisation de la BDR. Ce peut être le cas suite à une requête par exemple. Dans ce cas, le schéma d'allocation et les schémas locaux doivent être tenus à jour. Cette technique est une alternative à la duplication qui se révèle plus efficace lorsque la base de données est sujette à de nombreuses mises à jour.

c. Fragmentation dynamique

Dans le cas où le site d'allocation peut changer dynamiquement, il est possible que deux fragments complémentaires (verticalement ou horizontalement) se retrouvent sur le même site. Il est alors normal de les fusionner. A l'inverse, si une partie d'un fragment est appelé sur un autre site, il peut être intéressant de décomposer ce fragment et de ne faire migrer que la partie concernée. Ces modifications du schéma de fragmentation se répercutent sur le schéma d'allocation et sur les schémas locaux.

d. Clichés

Un cliché (snapshot) est une copie figée d'un fragment. Il représente l'état du fragment à un instant donné et n'est jamais mis à jour contrairement aux vues et aux copies qui répercutent toutes les modifications qui ont lieu sur le fragment original.

L'intérêt d'un cliché diminue donc au fur et à mesure que le temps passe. L'utilisation des clichés est intéressante lorsque l'on juge que la gestion de copies multiples se révélerait trop lourde pour la base de données considérée alors que des copies même peu anciennes et non à jours seraient largement suffisantes.

On peut en effet se passer de l'information exacte pour diverses raisons. D'une part l'information contenue dans la base de données peut ne pas refléter tout à fait la réalité (cas d'un changement d'adresse non signalé, par exemple).

D'autre part, certaines informations ne subissent pas souvent de modification (comme le nom de famille, l'adresse ou le nombre d'enfants des employés) et par conséquent une copie même ancienne de ces informations est, dans sa grande majorité, encore exacte.

Enfin, certaines informations dans un certain contexte ne sont pas de caractère sensible et par conséquent une information erronée n'aura pas de répercussion grave : le changement d'adresse d'un employé non répercuté n'aura pas d'incidence, les services postaux se chargeant du bon acheminement du courrier pendant plusieurs semaines.

Les deux critères qui sont à prendre en compte pour définir l'intérêt d'un cliché sont d'une part l'ancienneté du cliché, et d'autre part le temps d'attente qui serait nécessaire avant d'obtenir l'information originale (à jour).

Ces deux informations, l'ancienneté et le temps d'attente, peuvent être pondérées par un taux de satisfaction pour le système d'information.

précédent sommaire suivant