Vous êtes sur la page 1sur 9

26/09/2020

TRAITEMENT DES REQUÊTES CENTRALISÉE


Évaluation des Requêtes Décomposition : La requête SQL est transformée en arbre

Distribuées Requête
Centralisée algébrique.
Décomposition
Optimisation : Ordonnancement optimal des opérations

Optimisation relationnelles, les algorithmes d’accès aux données en utilisant :

• Les propriétés des opérateurs algébriques (Associativité,


Plan d’exécution
Commutativité, Distributivité)
Exécution
• Des heuristiques : en évaluant en premier les opérations les

moins coûteuses le plutôt possible


Résultats

1 Exécution : Exécution de la requête optimisée afin d’élaborer2 son


Évaluation d’une requête
centralisée
résultat.

1
26/09/2020

TRAITEMENT DES REQUÊTES RÉPARTIES OPTIMISATION DE REQUÊTES DISTRIBUÉES


Requête

Décomposition Schéma global Exécution Données statistiques


sur le site Optimisation globale
sur les fragments
de contrôle
Arbre algébrique
Informations sur la
localisation et la Requête optimisée sur les fragments
Localisation fragmentation

Exécution Optimisation locale Schémas locaux


Requête répartie avec sur les sites
localisation et fragmentation locaux

Modèles de coûts
Optimisation statistiques Requêtes locales optimisées

3 4
Plan d’exécution répartie

2
26/09/2020

OPTIMISATION DE REQUÊTES DISTRIBUÉES LA DÉCOMPOSITION


1. Décomposition de requête: cette couche prend la requête exprimée en termes de La requête globale est décomposée en sous-requêtes locales.
relations globales et effectue une première optimisation partielle à l’aide Relation :
d’heuristiques sur l’ordonnancement des opérateurs
Produit (#Prod, Libellé, Pu, …,)
2. Localisation de données: cette couche prend en compte la répartition des données
Stock ( #Prod,Ville, Qté)
sur le système. On remplace les feuilles de l’arbre d’algèbre relationnelle par leurs
algorithmes de reconstruction
La requête globale Req = Quels sont les produits stockés sur Alger ?

3. Optimisation globale: cette couche prend en compte les informations statistiques P Libellé

pour trouver un plan d’exécution proche de l’optimum, basé sur les fragments
Requête Globale

4. Optimisation locale: cette couche s’exécute sur chacun des sites locaux impliqués
P #Prod, libellé P #Prod
dans la requête. Chaque SGBD local effectue ses propres optimisations à l’aide des
Select Ville=Alger
heuristiques classiques d’optimisation

5 Produit Stock 6

Site 1 Site 2

3
26/09/2020

OPTIMISATION DE REQUÊTES: LA LOCALISATION EXEMPLE


P Libellé
❑La localisation d’une requête distribuée procède en deux étapes :
Requête Globale
❑Génération de requête canonique
P #Prod, libellé P #Prod
❑Simplification (ou réduction) Select Ville= Alger

❑ Génération de requête canonique Produit Stock

❑ la requête canonique est obtenue en remplaçant chaque relation de la U


Requêtes de
Reconstruction
requête distribuée globale par la requête de reconstruction Produit1 Produit2 Stock1 Stock2
correspondante

❑ Union des fragments pour la fragmentation horizontale Site 1 Site 2


Produit1= Proj #prod,libellé (Produit) Stock1 = SEL # Ville=Alger (Stock)
❑ Jointure des fragments pour la fragmentation Verticale 7 Produit2 = Proj #prod,Pu (Produit) Stock2 = SEL # Ville <> Alger (Stock) 8

4
26/09/2020

LA SIMPLIFICATION ARBRE FINAL

➢ Déterminer les opérations inutiles dans une requête canonique : celles qui
produisent un résultat vide, ou identique à l’opérande.
P Libellé P Libellé
▪ Une opération de restriction sur un fragment horizontal, dont le prédicat est en
contradiction avec le prédicat de fragmentation, produit un résultat vide.

▪ Exemple: la restriction Ville= Alger au fragment Stock2 défini par Ville <> Alger
P #Prod, libellé P #Prod P #Prod
➢ Éliminer les conditions de sélections inutiles : quand la condition est identique à
celle de la fragmentation. Select Ville =Alger

▪ Exemple: sélection à Ville=Alger sur le fragment Stock1 défini par Ville =Alger
Prod1 Stock1 Prod1 Stock1
 Une opération de projection sur un fragment vertical, dont tous les attributs
projetés- à l’exception, de l’attribut commun de reconstruction, n’appartiennent
pas au fragment, donne un résultat vide.
9 10
 Exemple: projection sur numprod, libellé du fragment Produit2

5
26/09/2020

TRAITEMENT DES REQUÊTES RÉPARTIES OBJECTIFS ET FACTEURS DE L’OPTIMISATION

 Minimiser la fonction coût d’exécution : somme des temps d’exécution des sous requêtes
Rôle de l’optimisation : déterminer une stratégie d’exécution de la requête
sur chaque site
distribuée à moindre coût
 Tenir compte
❑ Le temps total d’exécution
 Du parallélisme

❑ BD Centralisées :Temps d’E/S + Temps de traitement  Des coûts de transferts

❑ BD Distribuées : Temps d’E/S + Temps de traitement + Temps de  Des profils des fragments

communication (transferts de données, des résultats)  Taille, nombre de n-uplets

 Taille du domaine des attributs…


❑ Prendre en considération les gains en cas de parallélisme (Max au lieu de la
 De la taille des résultats intermédiaires
somme) 11 12
 De la topologie du réseau

6
26/09/2020

TRAITEMENT DE REQUÊTES RÉPARTIES TRAITEMENT DE REQUÊTES RÉPARTIES

 Les décisions à prendre dans le plan d’exécution sont les suivantes


L’exécution : le processus d’exécution de requêtes est aussi distribué,

c’est-à-dire qu’il consistera en plusieurs processus d’exécution de • Ordre des jointures

requêtes locales et d’un processus d’exécution global. • stratégie de jointure

 Le plan de l’exécution est l’ensemble des traitements locaux, ainsi que • Sélection des copies (site le plus proche, le moine engorgé)

les opérations de communications des données intermédiaires, • Choix des sites d’exécution (fonction des coûts de communication)

nécessaires pour les exécutions locales et la synchronisation globale.


• Choix des algorithmes d’accès répartis

• Choix du mode de transfert (tuple/paquets)

13 14

7
26/09/2020

GESTION DU CATALOGUE GESTION DU CATALOGUE


 3. Partitionné
 Dans un système distribué, le catalogue du système contiendra non seulement les
 Chaque site gère son propre catalogue concernant les objets de ce site. L’ensemble du
données d’un catalogue classique ( relations de base, vues, index, …) mais également
toutes les informations de contrôle nécessaires au système pour assure la fragmentation , catalogue est l’union de tous les catalogues locaux et disjoints.

la duplication..
• Les opérations qui ne sont pas locales sont très coûteuses (trouver un objet
Quelques possibilités
distant nécessite d’accéder en moyenne à la moitié des sites)
1. Centralisé
 Combinaison de 1 et 3
 l’ensemble du catalogue est mémorisé une seule fois, sur un site central unique.

 Chaque site gère son propre catalogue local, de plus un site central gère une copie unifiée de
 Cette approche viole l’objectif « pas de contrôle centralisé »
tous les catalogues locaux.
2. Duplication totale

 l’ensemble du catalogue est entièrement mémorisé sur chaque site.  Plus efficace que 3 mais viole l’objectif « pas de contrôle centralisé ».
15 16

 Perte importante d’autonomie

8
26/09/2020

Transactions Distribuées

17

Vous aimerez peut-être aussi