Corrigé TD Transactions Et Requêtes Distribuées

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 16

M.

AZZOUZ

Bases de Données Avancées

TD : Bases de données distribuées


-Transactions et requêtes distribuées-

– USTHB Master 01 IL–


M. AZZOUZ
Dernière mis à jour :Juin 2020
1
Exercice 01

Soient cinq transactions, T1, T2, T3, T4, T5, où


T1 est amorcée au site S1 et active un agent du site S2
T2 est amorcée au site S3 et active un agent du site S1
T3 est amorcée au site S1 et active un agent du site S3
T4 est amorcée au site S2 et active un agent du site S3
T5 est amorcée au site S3 et active un agent du site S3
Les informations de verrouillage de ces transactions sont indiquées
au tableau suivant :
Transaction Données Données Sites impliqués
verrouillées par la attendues par la dans les opérations
transaction transaction
T1 X1 X8 S1
T1 X6 X2 S2
T2 X4 X1 S1
T2 X5 X1 S3
T3 X2 X7 S1
T3 X3 S3
T4 X7 S2
T4 X8 X5 S3
T5 X3 X7 S3
Exercice 01

1. Etablissez les graphes d’attentes de chacun des sites. Que


pouvez-vous conclure à partir des graphes d’attentes locaux ?
Les graphes d’attentes de chaque site permettent la détection d’un
inter blocage (verrou mortels) inter site:
 Graphe d’attente site S1
Transaction Données Données Sites impliqués
verrouillées par attendues par la dans les
la transaction transaction opérations
T1 X1 X8 S1
T1 X6 X2 S2
T2 T1 T2 X4 X1 S1
T2 X5 X1 S3
T3 X2 X7 S1
T3 X3 S3
T3 TExt T4 X7 S2
T4 X8 X5 S3
T5 X3 X7 S3
Exercice 01

1. Etablissez les graphes d’attentes de chacun des sites. Que


pouvez-vous conclure à partir des graphes d’attentes locaux ?
Les graphes d’attentes de chaque site permettent la détection d’un
inter blocage (verrou mortels) inter site:
 Graphe d’attente site S2
Transaction Données Données Sites impliqués
verrouillées par attendues par la dans les
la transaction transaction opérations
T1 T1 X1 X8 S1
TExt
T1 X6 X2 S2
T2 X4 X1 S1
T2 X5 X1 S3
T4
T3 X2 X7 S1
T3 X3 S3
T4 X7 S2
T4 X8 X5 S3
T5 X3 X7 S3
Exercice 01

1. Etablissez les graphes d’attentes de chacun des sites. Que


pouvez-vous conclure à partir des graphes d’attentes locaux ?
Les graphes d’attentes de chaque site permettent la détection d’un
inter blocage (verrou mortels) inter site:
 Graphe d’attente site S3
Transaction Données Données Sites impliqués
verrouillées par attendues par la dans les
la transaction transaction opérations
T2 T1 X1 X8 S1
T1 X6 X2 S2
T2 X4 X1 S1
T4
T2 X5 X1 S3
TExt
T3 X2 X7 S1
T3 X3 S3
T3 T4 X7 S2
T4 X8 X5 S3
T5 T5 X3 X7 S3

Conclusion : il n’ya pas d’interblocages au niveau des sites. Mais dans un


système distribué ce n’est pas suffisant, il faut construire le graphe
d’attente global= union des graphes locaux.
Exercice 01

2. Que pouvez-vous déduire du graphe d’attente global ?


Graphe d’attente Site S1
Graphe d’attente Site S2
X1
T2 T1 X2 / T3 / S1

X8
T1 TExt

/T
4
/S
3
T4
T3 TExt
X7 / T4 / S2

 S1 U S2

X1
T2 T1
X8
/T

X2
4
/S
3

T3 TExt
X7 T4
Exercice 01

2. Que pouvez-vous déduire du graphe d’attente global ?


S1 U S2
Graphe d’attente Site S3
X1
T2 T1 X5 X1

X8
T4 T2 /T

/T
1/
X2

4
S1

/S
3
X3 X7 / T4 / S2
T3 TExt T3 T5 TExt
X7 T4

( S1 U S2) U S3 T2

X1
X5

T1
X8

X2
T4
X7
T3
X7

X3

T5
Exercice 01

2. Que pouvez-vous déduire du graphe d’attente global ?


Trois méthodes de détection existent:

Centralisée : un seul site a la responsabilité de construire et


d’entretenir le graphe d’attente, il vérifie la présence de cycles : il a la
possibilité de briser le cycle en annulant les transactions sélectionnée.
Bien sur il doit prévenir tous les sites concernés par l’annulation des
transactions.
 Distribuée : le graphe global est construit au niveau de chaque
site, donc chaque site reçoit tous les graphes locaux pour construire
le graphe global.
Hiérarchique : les sites du réseau sont structurés en une hiérarchie.
Chaque site envoie son graphe d’attente local au site de détection de
verrou indéfini juste au dessus de lui dans la hiérarchie.
Exercice 01

2. Que pouvez-vous déduire du graphe d’attente global ?

Le graphe global révèle l’existence de 3 cycles


(S1 U S2) U S3

C1={T1, T4, T2 , T1} T2


C2={T1, T3 ,T4, T2 ,T1}

X1
C3= {T1, T3, T5, T4 , T2, T1}

X5
T1
C1 ∩ C2 ∩ C3 ={T1, T2, T4}

X8
X2
T4
X7
La solution consiste à choisir une transaction T3

victime parmi {T1, T2, T4}.

X7
T4 victime( a fait moins de mise à jour(moins

X3
T5
de verrous)). T4 sera annulée et relancée à la
fin.
La solution est T5, T3, T1, T2, T4
Exercice 02
Soit le schéma relationnel traitant les visites de propriétés à louer pour
des clients :
PROPRIETE (NUMP, VILLEP) 10000 enregistrements stockés sur le site
d’Alger.
CLIENT (NUMC, PRIXMAX) 100000 enregistrements stockés sur le site de
Blida
VISITES (NUMP, NUMC) 1000 000 d’enregistrements stockés à Alger.
On veut lister les propriétés qui dépendent de l’agence d’Alger visités
par des clients dont la limite maximale de prix est supérieure à 30 000
DA.
Pour simplifier on suppose que tout tuple de ces relations a 100
caractères, qu’il y a un maximum de 10 clients dont le prixMax est
supérieur à 30000 DA, qu’il y a 100000 visites de propriétés d’Alger et que
le temps de calcul est négligeable par rapport au temps de communication.
Nous supposons en outre que le système de communication offre un taux
de transmission de 10000 caractères par seconde et qu’il faut une seconde
de délai d’accès pour envoyer un message d’un site à un autre.
Question : Identifier toutes les stratégies possibles pour exécuter cette
requête et calculer le coût de chaque stratégie.
Exercice 02
Schéma d’allocation

Débit « taux de
transmission »: 104
octets/seconde Statistiques
Délais d’accès « délais de Description Valeurs
synchronisation ou délais
d’attente »: 1 seconde Les clients 10
dont le tuples
Dictionnaire prixMax est
supérieur à
Relation Client Propriété Visite 30000 DA
Degré 2 attributs 2 attributs 2 attributs Les visites 105
Taille tuple 100 octets 100 octets 100 octets de tuples
propriétés
Cardinalité 105 tuples 104 tuples 106 tuples
d’Alger
Exercice 02

R : lister les propriétés qui dépendent de l’agence


d’Alger visités par des clients dont la limite
maximale de prix est supérieure à 30 000 DA.
 Requête SQL:

SELECT P.NUMP
FROM PROPRIETE P, CLIENT C, VISITES V
WHERE P.VILLE=‘ALGER’
AND C.PRIXMAX>30 000
AND V.NUMC=C.NUMC
AND V.NUMP=P.NUMP;
Exercice 02

Le processeur de requêtes distribuées génère une stratégie


d’exécution optimisée en respect d’une certaine fonction de coût.
D’une façon type les coûts associés à une requête distribuée sont :
Le coût du temps d’accès (E/S) lors de l’accès physique aux
données sur le disque.
Le coût du temps d’unité centrale (UC) induit lors des opérations
sur les données en mémoire principale.
 Le coût des communications associées à la transmission des
données via le réseau.
Le but de cet exercice est d’identifier les différentes stratégies
d’exécution de la requête, selon un certain nombre d’hypothèses à
savoir : Négliger le temps de traitement par rapport au temps de
communication prééminent dans le cas de cet exercice.
Par ailleurs, on ne s’est pas intéressé au temps de diffusion du
résultat de la requête puisque on n’a pas précisé le site sur lequel
s’exécute la requête. Dans tous les cas ce temps viendra s’ajouter au
temps d’exécution calculé.
Exercice 02

Nous identifions 6 stratégies :

Stratégie 1 : Déplacer la relation client à Alger et y traiter la


requête.
Temps = 1+ (100 000 * 100/ 10000) ˜ 16,7 minutes
1 : délai d’accès,
100000 *100/ 10000 : le temps de transfert de la table client au site
d’Alger.

Stratégie 2 : Déplacer les relations propriété et visite à Blida et y


traiter la requête.
Temps = 2+ [(1000 000 +10000)* 100/ 10000] ˜ 28 heures.
2 : délai d’accès (1 avant d’envoyer la table propriété et 1 avant
d’envoyer la table visite),
[(1000000 +10000)*100/ 10000] : le temps de transfert des tables
propriété et visite au site Blida.
Exercice 02

Stratégie 3 : joindre les deux relations propriété et visite à Alger et pour


chaque tuple du résultat vérifier à blida si le prix max est supérieur à
30 000. La vérification de chaque tuple suppose deux messages : une
requête et une réponse.
Temps = 100000 * (1 +100/ 10000)+ 100000*(1+(1/8)/10000)˜ 2,3 jours.
100000*1 : délai d’accès (pour la vérification de chaque tuple)
100000*100/10000 : temps de transmission de chaque tuple.
100000*(1+(1/8)/10000) : réponse de la vérification, il s’agit dans ce cas
d’un bit Qui vaut 0 ou 1.

Stratégie 4 : sélectionner les clients de prix max est supérieur à 30 000 à


Blida.
Temps = 10 * (1 + 100 / 10 000) + 10 *( 1 +(1/8)/10000) ˜ 20 secondes.
10*1 : délai d’accès (pour la vérification de chaque tuple)
10*100/10000 : temps de transmission de chaque tuple pour vérification.
10*(1 +(1/8)/10000) : réponse de la vérification, il s’agit dans ce cas d’un bit
( 0 ou 1).
Exercice 02

Stratégie 5 : joindre les relations propriété et visite à Alger . Projeter le


résultat sur numéro propriété et numéro client et déplacer ce dernier à
Blida pour les tuples ayant le prix max supérieur à 30 000. Pour simplifier,
nous suivons l’hypothèse que le résultat de la projection est long également
de 100 caractères.
Temps = 1+ (100000 * 100/ 10000) ˜ 16,7 minutes.
1 : délai d’accès (pour la vérification de chaque tuple)
100000*100/10000 : temps de transmission du résultat de la jointure

Stratégie 6 : sélectionner les clients de prix max est supérieur à 30 000 à


Blida et déplacer le résultat à Alger pour y exécuter la requête.
Temps = 1+ (10 *100/ 10000) ˜ 1 seconde.
1 : délai d’accès
10*100/10000 : temps de transmission du résultat.

Vous aimerez peut-être aussi