Vous êtes sur la page 1sur 30

REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE

MINISTERE DE L’ENSEIGNEMENT SUPERIEUR ET DE LA


RECHERCHE SCIENTIFIQUE

Université Saida Dr. Tahar Moulay

Faculté Technologies

Département Informatique

Master2 (RISR) Informatique

Spécialité : Réseaux Informatiques et Systèmes répartis (RISR)

Administration et sécurité des Systèmes d’informations répartis

Année universitaire : 2020-2021

miloud.benyahia@univ-saida.dz
miloudbenyahiauniv20@gmail.com
1
ADMINISTRATION ET SÉCURITÉ
DES SYSTÈMES
D’INFORMATIONS RÉPARTIS

2ème année Master (RISR)

2020-2021 2
Références bibliographiques
1) « Systèmes Informatiques Répartis. Concepts Et Techniques » .Bordas.
2) Duchien, Laurence - Seinturier, Lionel « Sécurité Des Réseaux Et
Systèmes Répartis » Hermes Science Publications.
 

3) Haddad, Serge « Méthodes Formelles Pour Les Systèmes Répartis Et


Coopératifs » Hermes Science Publications.
 

4) T. Ozsu and P. Valduriez, Principles of Distributed Database Systems,


Springer; 3rd Edition. edition (March 2, 2011), ISBN-10: 1441988335
5) IBM i Version 7.2 Database Distributed database programming
6) S. Spaccapietra, C. Vingenot, Bases de données réparties,
http://lbdwww.epfl.ch/f/teaching/courses/slidesBDA/BDR/BDR_se.pdf
7)Georges Gardarin, « Bases de données réparties », Cours BDD Web.
8) Base de données distribuées – Site personnel Dr GUEZOULI Larbi
9) D. Donsez, Répartition, Réplication, Nomadisme, Hétérogénéité dans
les SGBDs, http://www.adele.imag.fr/~donsez/cours/
10) …
Administration et sécurité des Systèmes d’informations répartis - Master2 (RISR) - 3
Administration de BDD - Optimisation des requêtes -
L'optimiseur de
requêtes
Il appartient au système de gestion de base de données de rechercher la solution
conduisant aux meilleures performances. Cette phase d'optimisation dans un
SGBD relationnel est l'une des caractéristiques essentielles de ce type de système.

Les objectifs de
l’optimiseur
Vérifier la correction syntaxique de la requête,

Rechercher des requêtes équivalentes plus simples,

Déterminer l'ordre des opérations élémentaires d'accès en vue de :


• Réduire le nombre d'entrées/sorties,
• Réduire le temps CPU,
• Réduire la taille des ressources mémoires nécessaires,
• Optimiser en premier les requêtes les plus fréquentes.

ASSIR- Master2 (RISR) - 4


Administration de BDD - Optimisation des requêtes -

Exemple complet de traitement


d’une requête

ASSIR - Master2 (RISR) - 5


Administration de BDD - Optimisation des requêtes -
Les étapes
d’optimisation 
1. Représenter la requête sous une forme interne et la
décomposer en une séquence d'opérations élémentaires.

2. Transformer la requête par :

• Simplification : remplacement la requête par une


requête équivalente plus simple (RBO : Rules-Based
Optimisation),
• Ordonnancement des opérations élémentaires.

3. Construire un ensemble de plans d'exécution candidats.

4. Calculer le coût de chaque plan et choisir le meilleur


(CBO : Cost-Based Optimisation).

ASSIR- Master2 (RISR) - 6


Administration de BDD - Optimisation des requêtes -
L'optimiseur de
requêtes
Techniques
d’optimisation
Optimisation logique : Optimisation basée
Optimisation basée sur
sur la
la
réorganisation des
réorganisation des
rule-based expressions algébriques
algébriques
expressions

Technique
d’optimisation

Optimisation physique: Optimisation des opérations


Cost-based Optimisation basée sur les coûts

ASSIR- Master2 (RISR) - 7


Administration de BDD - Optimisation des requêtes -
Rule-Based Optimisation
(RBO)
- Optimisation de haut niveau. Lors de cette transformation une
expression ( «la réécriture de requêtes") a lieu, cela signifie que
l’optimiseur applique certaines lois (règles) de transformation de
réécrire les requêtes d'une manière plus efficace. La nouvelle version de
requête est logiquement équivalent à la précédente mais peut être
exécutée plus rapidement.

- On peut améliorer le PEL obtenu par traduction de la requête SQL grâce à


l’existence de propriétés sur les expressions de l’algèbre relationnelle. Ces
propriétés appelées lois algébriques ou encore règles de réécriture permettent
de transformer l’expression algébrique en une expression équivalente et donc de
réagencer l’arbre. Le PEL obtenu est équivalent, c’est-à-dire qu’il conduit au
même résultat. En transformant les PEL grâce à ces règles, on peut ainsi obtenir
des PEL qui s’exécutent plus rapidement.

ASSIR- Master2 (RISR) - 8


Administration de BDD - Optimisation des requêtes -
. Équivalence d'expressions
A1. Commutativité pour jointure et produit
• E1  E2  E2  E1
• E1 x E2  E2 x E1

A2. Associativitépour jointure et produit


• (E1  E2)  E3  E1  (E2  E3)
• (E1 x E2) x E3  E1 x (E2 x E3)

A.3 Cascades de projections


• A1,...,An(B1,...,Bm(E)) A1,...,An(E)
• A1,...,An doivent être inclus dans B1,...,Bm

A.4 Cascades de sélections


• F1(F2(E))  F1^F2(E)

A.5 Inversion sélection-projection


• A1,...,An(F(E))  F(A1,...,An(E)) si F porte sur A1, …, An
• A1,...,An(F(E))A1,...,An(F(A1,...,An, B1,...,Bm(E))) si F porte sur B1, …,
Bm qui ne sont pas parmi A1, …, An

ASSIR - Master2 (RISR) - 9


Administration de BDD - Optimisation des requêtes -

. Équivalence d'expressions
A.6 Inversion sélection-produit cartésien
• F(E1xE2)  F(E1)xE2 Si F ne porte que sur les attributs de E1
• F(E1xE2)  F1(E1)xF2(E2) Si F=F1∧F2 et Fi ne porte que sur les attributs de Ei
• F(E1xE2)  F2(F1(E1)xE2) Si F1 porte sur les attributs de E1 et F2 sur ceux de E1
et E2

A.7 Inversion sélection-union


• F(E1 E2)  F(E1)  F(E2)

A.8 Inversion sélection-différence


• F(E1-E2)  F(E1)-F(E2)

A.9 Inversion sélection-jointure naturelle


• F(E1  E2)  F(E1)  F(E2)

A.10 Inversion projection-produit cartésien


• A1,...,An(E1xE2)  B1,...,Bm(E1) x C1,...,Ck(E2)

A.11 Inversion projection-union


• A1,...,An(E1E2)  A1,...,An(E1)  A1,...,An(E2)
10
Administration de BDD - Optimisation des requêtes -

B. Principes d'optimisation des expressions algébriques (Règles de


transformation): Idées :

B.1 Exécuter les sélections aussitôt que possible (Applique les règles :A1-A5)

B.2 Combiner certaines sélections avec un produit cartésien précédent pour


aboutir à une jointure

B.3 Combiner des séquences d'opérations unaires, comme les sélections et les
projections

B.4 Chercher les sous-expressions communes dans une expression


(Matérialiser les sous-expressions)

ASSIR - Master2 (RISR) - 11


Administration de BDD - Optimisation des requêtes -

C- Algorithme d'optimisation d'expression


algébriques (Alg1)
C.1 Utiliser la règle (A.4) pour séparer chaque
sélection F1^... ^Fn(E) en une cascade F1(...
(Fn(E))...).

C.2 Pour chaque sélection, utiliser les règles (A.4) à


(A.9) pour descendre la sélection le plus bas possible
dans l'arbre.

C.3 Pour chaque projection, utiliser les règles (A.3),


(A.10), (A.11) et (A.5) pour descendre la projection
aussi bas que possible dans l'arbre.

ASSIR - Master2 (RISR) - 12


Administration de BDD - Optimisation des requêtes -

C- Algorithme d'optimisation d'expression


algébriques (Alg1)

C.4 Utiliser les règles (A.3) à (A.5) pour combiner


des cascades de sélections et de projections dans
une sélection seule, une projection seule, ou une
sélection suivie par une projection. Il est plus
efficace de faire toutes les sélections puis toutes les
projections en un passage sur une relation que
d'alterner les sélections et les projections en
plusieurs passages.

ASSIR - Master2 (RISR) -


13
Administration de BDD - Optimisation des requêtes -

C- Algorithme d'optimisation d'expression


algébriques (Alg1)
C.5 Regrouper les noeuds intérieurs de l'arbre. Chaque
noeud intérieur représentant un opérateur binaire (x,,-)
crée un groupe. Soit O cet opérateur binaire. Au groupe
de O sont ajoutés tous les opérateurs unaires ancêtres de
O, et tout chemin d'opérateurs unaires descendants de
O, qui se termine par une feuille.

C.6 Produire un programme comportant en une étape


pour chaque groupe, à évaluer dans n'importe quel ordre
mais tel qu'aucun groupe ne soit évalué avant ses groupes
descendants.

ASSIR - Master2 (RISR) - 14


Administration de BDD - Optimisation des requêtes -
L'optimiseur de
requêtes
Exemple1 : Soit les deux relation : R1, R2
R1 A B C R2 C D E
a 1 10 10 x 2
b 1 20 20 y 2
c 2 10 30 z 2
d 2 35 40 x 1
e 3 45 50 y 3
La requête à exécuté
dans l’ordre est :

(R1 x R2)  [R1.A=c AND R2.E=2 AND R1.C=R2.C] [D,B]


D B
le résultat de cette requête est :
x 2 ASSIR- Master2 (RISR) - 15
Résultat Résultat

[D, B] [D, B]

R1.C=R2.C
[ R1.A=c AND R2.E=2 AND R1.C=R2.C ]

[R1.A=c] [R2.E=2]

R1 R2 R1 R2
16
ASSIR -Master2 (RISR) -
Au total
Au total :: (1)
(1) ++ (25)
(25) ++ (5
(5 +5
+5 ** 5) 56
5) == 56 Au total
Au total :: (1)
(1) ++ (1
(1 +1
+1 ** 3)
3) ++ (5
(5 +5) 15
+5) == 15
uples sont
uples sont traités
traités uples sont
uples sont traités
traités
Résultat Résultat

(1): uples
(1): uples (1): uple
(1): uple
(1): uple
(1): uple traité
traité (1): uple
uple traité
traité
(1):
[D, B] [D, B]
(1): uples
(1): uples (1): uple
(1): uple
(25): uples
(25): uples ((11 +1
+1 ** 33):): uples
uples
sont traités
sont traités sont traités
sont traités
[R1.A=c AND R2.E=2 AND R1.C=R2.C] R1.C=R2.C

(1): uple
(1): uple (3): uples
(3): uples ((55 )
):: uu
pp
(25): uples
(25): uples s o
t
onnt ttrraa lleess s
(5 +5
(5 +5 ** 5):
5): uples
uples s
leess s iittéé soonn
p
p l ss tt
):: uu téés
[R1.A=c] [R2.E=2]
sont traités
sont traités
((55 ) ttrraaiit

(5): uples
(5): uples (5): uples
(5): uples (5): uples
(5): uples (5): uples
(5): uples
R1 R2 R1 R2
17
ASSIR -Master2 (RISR) -
Administration de BDD - Optimisation des requêtes -

EMPLOYE • (Eid, Enom, Titre, Ville );

PROJET • (Pid, Pnom, Budget, Pville);

TRAVAUX • (#Eid, #Pid, Respid, Durée)

Le nom et le titre des employés qui travaillent dans des projets avec
un budget supérieur à 250

SELECT • DISTINCT Enom, Titre


• EMPLOYE E, PROJET P,
FROM TRAVAUX T
WHERE • P. Budget > 250
And • P.Pid = T.Eid

And • T.Pid = E.Eid;


ASSIR -Master2 (RISR) - 18
Administration de BDD - Optimisation des requêtes -

SELECT • DISTINCT Enom, Titre

FROM • EMPLOYE E, PROJET P, TRAVAUX T

WHERE • P. Budget > 250

Plan And • T.Pid = P.Pid


d’exécution 1 And • E.Eid = T.Eid;

EMPLOYE • (Eid, Enom, Titre, Ville );


PROJET • (Pid, Pnom, Budget, Pville);
TRAVAUX • (#Eid, #Pid, Respid, Durée)

R1 • Joindre la relation employe avec la relation travaux

R2 • Joindre R1avec la relation projet

R3 • Lire R2 et sélectionner les tuples de Budget>250

R4 • Projeter R3 sur Enom et Titre

ASSIR -Master2 (RISR) - 19


Administration de BDD - Optimisation des requêtes -
SELECT • DISTINCT Enom, Titre

FROM • EMPLOYE E, PROJET P, TRAVAUX T

WHERE • P. Budget > 250

And • P.Pid = T.Eid

And • T.Pid = E.Eid;


Plan d’exécution

EMPLOYE • (Eid, Enom, Titre, Ville );


2

PROJET • (Pid, Pnom, Budget, Pville);


TRAVAUX • (#Eid, #Pid, Respid, Durée)

• Lire la table projet et sélectionner les tuples de Budget


R1 > 250

R2 • Joindre R1 avec la relation travaux

R3 • Joindre R2 avec la relation employe

R4 • Projeter R3 sur Enom et Titre


ASSIR -Master2 (RISR) - 20
Administration de BDD - Optimisation des requêtes -
EMPLOYE • (Eid, Enom, Titre, Ville );
PROJET • (Pid, Pnom, Budget, Pville);
TRAVAUX • (#Eid, #Pid, Respid, Durée)

SELECT • DISTINCT Enom, Titre

• EMPLOYE E, PROJET P,
FROM TRAVAUX T
Plan
WHERE • P. Budget > 250 d’exécution 2
Plan
An
d’exécution 1 d
• E.Eid = T.Eid

An • P.Pid = T.Pid;
d

Espace de recherche contenant deux plans d’exécution. Quel est le meilleur plan
ASSIR -Master2 (RISR) - 21
Plan optimisé après l’ajout des projection Administration de BDD - Optimisation des requêtes -
SELECT • DISTINCT Enom, Titre
• EMPLOYE E, PROJET P, TRAVAUX
FROM T
WHERE • P. Budget > 250
And • E.Eid = T.Eid
Plan d’exécution An
d
• P.Pid = T.Pid;

Eid Optimal

Pid

EMPLOYE • (Eid, Enom, Titre, Ville );


PROJET • (Pid, Pnom, Budget, Pville);
TRAVAUX • (#Eid, #Pid, Respid, Durée)
ASSIR -Master2 (RISR) - 22
Administration de BDD - Optimisation des requêtes -

Livre • (ISBN, titre, auteur, éditeur );

Lecteur • (nocarte, nom, adresse);

Prêt • (nocarteP, ISBNP, date)

Q : Liste des noms des lecteurs et des titres des livres pour tous les
prêts d'avant le 15.6.90

Forme de la requête avant


optimisation

[nom, titre] [(date <15.06.90 ) (nocarte = nocarteP)  (ISBN = ISBNP)]


(Prêt x Lecteur x Livre)

ASSIR -Master2 (RISR) - 23


Administration de BDD - Optimisation des requêtes -

 [nom, titre]  [(date <15.06.90)  (nocarte = nocarteP)  r6

(ISBN = ISBNP)] (Prêt x Lecteur x Livre) [[nom;Titre]]


R4 r5

[[nom;Titre]] [ISBN = ISBNP]


R3 r4

[date <15.06.90]
[(nocarte = nocarteP) (date <15.06.90)  (ISBN = ISBNP)]
r3
R2 [nocarte = nocarteP]
r2
R1 Livre • (ISBN, titre, auteur, éditeur );

Livre Lecteu • (nocarte, nom, adresse);


r r1
Livre
Prêt Lecteur Prêt • (nocarteP, ISBNP, date)

Lecteu
ASSIR -Master2 (RISR) - Prêt
r 24
Arbre de la requête après l'étape C1 Arbre de la requête après l'étape C2

r6 R6

[[nom;Titre]] [[nom;Titre]]
r5 R5

[ISBN
ISBN = ISBNP]
= ISBNP
[ISBN
ISBN = ISBNP]
= ISBNP

r4 R4
[date <15.06.90]
date <15.06.90

R3
r3

[nocarte = nocarteP] [nocarte = nocarteP] Livre

R2
r2

R1
Lecteu
r1 Livre [date <15.06.90]
date <15.06.90 r

Lecteu
Prêt ASSIR -Master2 (RISR) - Prêt
r
25
L'arbre est inchangé par l'étape C3 et C4
Ajout de projections

R6
Livre • (ISBN, titre, auteur, éditeur );
[[nom,titre]]
Lecteur • (nocarte, nom, adresse);
R5
Prêt • (nocarteP, ISBNP, date) [ISBN
ISBN = ISBNP]
= ISBNP

R4
[ISBN,nom] [ISBN,Titre]
R3
[nocarte = nocarteP] Livre

R2
[nocartep,ISBNP] [nocarte, nom]
R1
Lecteu
[date <15.06.90]
date <15.06.90 r

ASSIR -Master2 (RISR) -


Prêt 26
Arbre de la requête après l'étape C2

R6

[nocarte = nocarteP] [[nom;Titre]]


R2 R5

[ISBN
ISBN = ISBNP]
= ISBNP
R1
Lecteu R4
[date <15.06.90]
date <15.06.90 r

Prêt
R3 Livre

ASSIR -Master2 (RISR) -


27
R6 Arbre après l'étape C5

r4
[[nom;Titre]]
R5 [[nom;Titre]]
[ISBN
ISBN = ISBNP]
= ISBNP
r3
ISBN
=
ISBNP
R4 r2
nocarte
=
nocarteP Livre
R3 r1
Lecteu
[nocarte = nocarteP] Livre [date <15.06.90]
date <15.06.90 r

R2

Prêt
R1
Lecteu
[date <15.06.90]
date <15.06.90 r

Prêt
ASSIR -Master2 (RISR) -
28
Arbre Finale
• (ISBN, titre, auteur, éditeur ); R8
Livre

Lecteur • (nocarte, nom, adresse); [[nom;Titre]]

• (nocarteP, ISBNP, date) R7


Prêt ISBN
=
ISBNP

SELECT • nom, titre R5 R6

FROM • Lecture L, Livre V, Prêt P [ ISBN,nom] [ ISBN,Titre]

WHERE • P. date > 15.06.90 R4


An nocarte
d
• P.nocartep=L.nocarte =
nocarteP Livre
An • P.ISBNP = V.ISBN; R2 R3
d

[ nocartep,ISBNP] [
nocarte, nom]

Q : Liste des noms des lecteurs R1


et des titres des livres pour tous Lecteu
[date
les prêts avant le 15.06.90 <15.06.90]
date <15.06.90 r

Prêt ASSIR -Master2 (RISR) -


29
Administration et sécurité des Systèmes d’informations
- Master2 (RISR) -

Veuillez consulter régulièrement le lien google drive ci-dessous pour


télécharge les outils de TP, des séquences vidéo, des présentations PowerPoint et
d’autre documents et fichiers.

Lien google drive :


«https://drive.google.com/drive/folders/1dZeUBgEqmL-h9Vy9dhjcNkl7N7DcyFHC?usp=sharing»

n'hésitez pas à me contacter si vous avez des questions ou pour tout


complément d'information.

miloud.benyahia@univ-saida.dz

miloudbenyahiauniv20@gmail.com

30

Vous aimerez peut-être aussi