Vous êtes sur la page 1sur 15

Universit Mhamed Bougara de Boumerdes

Dpartement de Physique. Infotronique.


2011/2012
Base de Donnes Rparties (BDR)
Master2 : Systmes informatiques distribus
Mme S.MECHID











Chapitre 2 : Conception de BD Rparties
Universit Mhamed Bougara de Boumerdes
Dpartement de Physique. Infotronique.
2011/2012
Base de Donnes Rparties (BDR)
Master2 : Systmes informatiques distribus
Mme S.MECHID



Introduction
Une BDR diffre d'une BD centralise avec certains concepts nouveaux qui sont particuliers la
rpartition des donnes.

1. Mthode de conception
Il existe deux approches pour la conception dune base de donnes repartie :

1.1 Conception (Approche) ascendante : (Bottom up design)

Dans cette approche on part de lexistant (Distribution pr-existante). Lobjectif principal est
dintgrer les bases locales dans schma global. Elle ncessite une consolidation, uniformisation
c'est--dire :

1 Rconciliation smantique
2 Identifier les donnes semblables
3 Accorder leurs types, grer leur cohrence
4 Interfacer ou adapter les SGBD

1.2 Conception descendante : (Top down design)

Dans cette approche on part du schma global en le scindant en schmas locaux
(On part de zro (nouvelle base)
Les points suivants sont prsents dans cette approche :

1 Conception du schma conceptuel global
2 Distribution pour obtenir des schmas conceptuels locaux
3 Les tables du schma global sont fragmentes (processus de fragmentation)
4 Les fragments sont donc placs sur des sites (processus dallocation)

2
Universit Mhamed Bougara de Boumerdes
Dpartement de Physique. Infotronique.
2011/2012
Base de Donnes Rparties (BDR)
Master2 : Systmes informatiques distribus
Mme S.MECHID



2 La fragmentation
2.1 Dfinition.
.La fragmentation est le processus de dcomposition d'une base de donne logique en un
ensemble de "sous" bases de donnes. Cette dcomposition doit tre sans perte d'information.
La fragmentation peut tre coteuse sil existe des applications qui possdent des besoins
opposs.
2.2 Les rgles de fragmentation
Les rgles appliquer sont : :
1. La compltude : pour toute donne dune relation R, il existe un fragment R
i
de la relation
R qui possde cette donne.
2. La reconstruction : pour toute relation dcompose en un ensemble de fragments Ri, il
existe une opration de reconstruction. Pour les fragmentations horizontales, lopration de
reconstruction est lune union. Pour les fragmentations verticales cest la jointure.
3. La Disjonction: assure que les fragments dune relation sont disjoints deux deux

Tout algorithme de fragmentation doit satisfaire les rgles correction


23 Techniques de Fragmentation
2.3.1 Fragmentation horizontale
Dcomposition de la table en groupes de lignes.
Exemple

Table Client (NCL, Nom, Ville)





3
Universit Mhamed Bougara de Boumerdes
Dpartement de Physique. Infotronique.
2011/2012
Base de Donnes Rparties (BDR)
Master2 : Systmes informatiques distribus
Mme S.MECHID




Il existe deux types de fragmentation horizontale:

- Primaire
- Drive


A. Fragmentation horizontale primaire :

La Fragmentation horizontale est dfinie par lopration de slection
Exemple
Client (NCL, Nom, Ville) peut tre fragmente :
Client1=SELECT * FROM Client WHERE Ville =Paris
Client2=SELECT * FROM Client WHERE Ville <>Paris
Reconstruction de la relation initiale:
Client = Client1 Client2






B. Fragmentation horizontale drive :

La Fragmentation dune table en fonction des fragments horizontaux dune autre table.
(Cette fragmentation est obtenue dans le cas de lien pre_fils)

Exemple
Commande (NCL, NProduit, Date, Qte, NReprsentant)
4
Universit Mhamed Bougara de Boumerdes
Dpartement de Physique. Infotronique.
2011/2012
Base de Donnes Rparties (BDR)
Master2 : Systmes informatiques distribus
Mme S.MECHID


Commande1=SELECT * FROM Commande
WHERE NCL IN
(SELECT NCL FROM CLIENT1)
Commande2=SELECT * FROM Commande
WHERE NCL IN
(SELECT NCL FROM CLIENT2)
Reconstruction de la relation initiale:
Commande = Commande1 Commande2



2.3.2 Fragmentation verticale
La fragmentation verticale est obtenue oar dcomposition de la table en groupes de colonnes.
Fragmentation verticale est dfinie par lopration de projection

Table Client (NClient, Nom, Sexe, Ville)

Exemple
Client (NClient, Nom, Sexe,Ville) peut tre fragmente :
Client1=SELECT NClient, Nom FROM Client
Client2=SELECT NClient, Sexe, Ville FROM Client
Reconstruction de la relation initiale:
Client = Client1 join Client2


5
Universit Mhamed Bougara de Boumerdes
Dpartement de Physique. Infotronique.
2011/2012
Base de Donnes Rparties (BDR)
Master2 : Systmes informatiques distribus
Mme S.MECHID


2.3.3 Fragmentation mixte
La Fragmentation mixte rsulte de lapplication successive doprations de fragmentation
horizontale et de fragmentation verticale

2.4 Avantages et inconvnients de la fragmentation

A. Avantages
1 Rduction des accs non pertinents
2 Paralllisme intra-requte
3 Combine avec dautres techniques doptimisation (index, vues matrialises,
etc.)
B. Inconvnients
1 gnration des fragments disjoints est un problme difficile
2 Accs multiples aux fragments ncessitent des oprations de jointure et dunion
3 La migration des donnes (consquence dune mauvaise fragmentation
horizontale)
6
Universit Mhamed Bougara de Boumerdes
Dpartement de Physique. Infotronique.
2011/2012
Base de Donnes Rparties (BDR)
Master2 : Systmes informatiques distribus
Mme S.MECHID



2.5 Comment Fragmenter ?
a. Fragmentation horizontale

Deux catgories de mthodes de fragmentation
o Data-driven partitioning
Hash-partitioning (Oracle10g)
Range partitioning (Oracle10g)
List Partitioning (Oracle10g)

o Query-Driven Partitioning
Prdicats dfinis dans les requtes

a. Fragmentation dirige par des requtes
La mthode prconise doptimiser les requtes les plus frquentes, avec connaissance
pralable des requtes ainsi que les frquences daccs des requtes.
Mais Changement de requtes peut entraner une re-fragmentation

Procdure (Algorithme) de fragmentation
Informations sur la base de donnes : Avoir les pprdicats simples :
Dfinition :
tant donne une relation R(A1 , A2 , ..., An )
Un prdicat simple pj dfini sur R est dfini:
pj : Ai valeur
avec: {=, <, >, , , }; et valeur domaine(Di)
Exemple
p1: Ville =Alger
p2: Salaire 10 000
7
Universit Mhamed Bougara de Boumerdes
Dpartement de Physique. Infotronique.
2011/2012
Base de Donnes Rparties (BDR)
Master2 : Systmes informatiques distribus
Mme S.MECHID


Soit Pr ={p1, p2, ..., pm} un ensemble de prdicats simples dfinis sur la relation Ri,
lensemble de minterms M ={m1, m2 , ..., mz } est dfini comme suit:
M = {mi | mi = Pj Pr p*j }, 1 i z, 1 j z;
where p*j =pj or pj
Exemple:
m1 : (Ville =Alger ) (Salaire 10 000)
m2 : NOT(Ville= Alger ) (Salaire 10 000)
m3 : (Ville = Alger ) NOT(Salaire 10 000)
m4 : NOT(Ville = Alger ) NOT(Salaire 10 000)

Pour appliquer cet algorithme, il faut suivre les tapes suivantes :
Gnration des minterms
limination des minterms contradictoires
Exemple
Considrons les prdicats simples suivants:
A<10, A>5, Loc =Poitiers, Loc =Paris
Les minterms gnrer sont :
(1) A<10 A>5 Loc=SA Loc=SB
(2) A<10 A>5 Loc=SA (Loc=SB)
(3) A<10 A>5 (Loc=SA) Loc=SB
(4) A<10 A>5 (Loc=SA) (Loc=SB)
(5) A<10 (A>5) Loc=SA Loc=SB
(6) A<10 (A>5) Loc=SA (Loc=SB)
(7) A<10 (A>5) (Loc=SA) Loc=SB
(8) A<10 (A>5) (Loc=SA) (Loc=SB)
8
Universit Mhamed Bougara de Boumerdes
Dpartement de Physique. Infotronique.
2011/2012
Base de Donnes Rparties (BDR)
Master2 : Systmes informatiques distribus
Mme S.MECHID


(9) (A<10) A>5 Loc=SA Loc=SB
(10) (A<10) A>5 Loc=SA (Loc=SB)
(11) (A<10) A>5 (Loc=SA) Loc=SB
(12) (A<10) A>5 (Loc=SA) (Loc=SB)
(13) (A<10) (A>5) Loc=SA Loc=SB
(14) (A<10) (A>5) Loc=SA (Loc=SB)
(15) (A<10) (A>5) (Loc=SA) Loc=SB
(16) (A<10) (A>5) (Loc=SA) (Loc=SB)
Aprs liminations des fragments contradictoires, les fragments finaux sont :


F2: 5 < A < 10 Loc=SA
F3: 5 < A < 10 Loc=SB
F6: A 5 Loc=SA
F7: A 5 Loc=SB
F10: A 10 Loc=SA
F11: A 10 Loc=SB

b. Fragmentation verticale

Nous signalons que pour une relation avec m attributs (non-primary key), le nombre de
fragments verticaux possible est approximativement gale mm
Techniques de fragmentation
o Groupement: (1) chaque attribut forme un fragment, (2) jointure des
fragments tant quun critre de performance est satisfait.
9
Universit Mhamed Bougara de Boumerdes
Dpartement de Physique. Infotronique.
2011/2012
Base de Donnes Rparties (BDR)
Master2 : Systmes informatiques distribus
Mme S.MECHID


o Splitting: on dbute par la relation globale, on gnre ensuite des
partitions en se basant sur le comportement des applications (requtes).
Principe de lalgorithme
Un fragment vertical contient des attributs frquemment utiliss.
Les informations dont on aura besoin sont les suivantes :

Q = {q1 , q2, ..., qm}: ensemble de requtes frquentes
R (A1, A2, ..., An): relation R avec n attributs, et l sites
Matrice dusage mn: Uij : 1 si attribut Aj est rfrenc par qi
sinon 0
Matrice daccs m l : accik : frquence daccs de la requte i
sur le site k
Matrice de rfrence m l : ref ik : le nombre daccs aux
attributs pour chaque excution de la requte qi sur le site k
Exemple

Soit la relation PROJ (PNO,PNAME,BUDGET,LOC),
Sachant quon a 3 sites, 4 requtes SQL :
q1: SELECT BUDGET FROM PROJ WHERE PNO =val;
q2: SELECT PNAME, BUDGET FROM PROJ ;
q3: SELECT PNAME FROM PROJ WHERE LOC =val;
q4: SELECT SUM(BUDGET) FROM PROJ WHERE LOC=val

=
0 0 3
25 25 25
0 0 5
10 20 15
acc

=
1 1 0 0
1 0 1 0
0 1 1 0
0 1 0 1
U

10
Universit Mhamed Bougara de Boumerdes
Dpartement de Physique. Infotronique.
2011/2012
Base de Donnes Rparties (BDR)
Master2 : Systmes informatiques distribus
Mme S.MECHID



Aprs avoir la matrice dusage ainsi que la matrice daccs, on calcule alors Mesure
daffinit entre deux attributs Ai et Aj (affij ) dune relation R qui est dfinie comme:
affij = { k|Uki = 1 Ukj =1} l acclk

=
1 1 0 0
1 0 1 0
0 1 1 0
0 1 0 1
U

=
0 0 3
25 25 25
0 0 5
10 20 15
acc

=
78 3 75 0
3 53 5 45
75 5 80 0
0 45 0 45
aff
Matrice AA

Matrice daffinit et son rle pour la FV

La matrice daffinit est utilise pour guider la gnration des fragments
verticaux
les attributs ayant une grande affinit seront groups pour former un fragment
vertical
Remarque
On peut utiliser la thorie des graphes pour former les fragments et plus
precisement prendre les noeuds formant un cycle.

3. Processus dallocation des fragments.
3.1 Introduction
Laffectation des fragments sur les sites est dcide en fonction de lorigine prvue des
requtes qui ont servi la fragmentation. Le but est de placer les fragments pour
minimiser les transferts de donnes entre les sites.
11
Universit Mhamed Bougara de Boumerdes
Dpartement de Physique. Infotronique.
2011/2012
Base de Donnes Rparties (BDR)
Master2 : Systmes informatiques distribus
Mme S.MECHID



Lallocation peut se faire avec rplication ou sans rplication. Sachant que la
rplication favorise les performances des requtes et augmente la disponibilit des
donnes, mais est coteuse en mise jour des diffrents fragments. (Utilisation des
triggers Dclencheurs pour dtecter des mises jour)

3.2 Problme dallocation:
Entres:
F ={F1, F2, , Fn} - ensemble de fragments
S ={S1, S2, , Sm} - ensemble de sites
Q ={Q1, Q2, , Ql} - ensemble de requtes

Le problme dallocation consiste trouver une distribution optimale de F
sur S afin damliorer la performance (temps de rponse, donnes
transfres, etc.)
Contraintes
o Stockage, quilibrage de la charge entre les sites

Donc on a un Problme NP-complet


Il existe plusieurs algorithmes, nous prsentons ici lalgorithme BEST FIT

Principe
Permet de dterminer le site sur lequel stocker le fragment, l o lon maximise les
traitements locaux
nintgre pas le problme de la rplication
12
Universit Mhamed Bougara de Boumerdes
Dpartement de Physique. Infotronique.
2011/2012
Base de Donnes Rparties (BDR)
Master2 : Systmes informatiques distribus
Mme S.MECHID


Exemple

Soit les informations suivantes relatives aux diffrents fragments :


Fragments
temps
d' accs
local (ms)
temps
mise
jour local
temps
accs
distant
temps
m.a.j.
distant
R1 100 150 500 600
R2 150 200 650 700
R3 200 250 1000 1100




Transactions sites frquence
accs tables
(L= lecture,
E = criture)
T1 S1,S4,S5 1
4 accs R1 (3L, 1E)
2 accs R2 (2L)
T2 S2,S4 2
2 accs R1 (2L)
4 accs R3 (3L, 1E)
T3 S3,S5 3
4 accs R2 (3L, 1E)
2 accs R3 (2L)









13
Universit Mhamed Bougara de Boumerdes
Dpartement de Physique. Infotronique.
2011/2012
Base de Donnes Rparties (BDR)
Master2 : Systmes informatiques distribus
Mme S.MECHID




Si on rcapitule les deux tableaux dans un seul tableau de synthse on aura :


Fragment Site
Accs T1 *
Frquence
Accs T2 *
Frquence
Accs T3 *
Frquence
Total
pondr
R1 S1 4*1 0 0 4
S2 0 2*2 0 4
S3 0 0 0 0
S4 4*1 2*2 0 8
S5 4*1 0 0 4
R2 S1 2*1 0 0 2
S2 0 0 0 0
S3 0 0 4*3 12
S4 2*1 0 0 2
S5 2*1 0 4*3 14
R3 S1 0 0 0 0
S2 0 4*2 0 8
S3 0 0 2*3 6
S4 0 4*2 0 8
S5 0 0 2*3 6

Selon les donnes de la colonne Total pondr on a :

On stocke R1 sur S4
On stocke R2 sur S5
On stocke R3 sur S2 ou S4 (S2 pour mieux rpartir)



14
Universit Mhamed Bougara de Boumerdes
Dpartement de Physique. Infotronique.
2011/2012
Base de Donnes Rparties (BDR)
Master2 : Systmes informatiques distribus
Mme S.MECHID



3.3 Alternatives dallocation
Rplication totale :
Chaque fragment est rpliqu sur tous les sites
Rplication partielle :
chaque fragment est rpliqu sur quelques sites
Aucune rplication :
Chaque fragment rside dans un et un seule site
15