Vous êtes sur la page 1sur 5

10/12/2010

Quand faut-il implémenter le Parallel execution


• Le Parallel execution assure de bonnes performances
dans les systèmes décisionnels et les datawarehouses.
Les systèmes de types OLTP peuvent également en
bénéficier lors de l'utilisation de batch.
Principes d’exécution en parallèle • Les processus bénéficiant de l'exécution en parallèle :
– • les requêtes requérant de large table scan, des joins ou
pour les partitioned index scan,
– • la création de grands index,
– • la création de grandes tables (incluant les vues
matérialisées), (Les vues matérialisées sont comme des
vues dont le résultat est stockée dans une table)
– • l'insertion (insert), la mise à jour (update), la fusion
(merge) et l'effacement (delete) de gros volumes de
données, l'accès à de grands objets tels que les LOBs.

Transaction
• Une transaction est un ensemble de tâches à exécuter qui
respecte les propriétés:
– - Atomicité : soit toutes les tâche sont bien exécutées soit rien
n'est exécutée
– - Cohérence : l'exécution d'une transaction respecte toutes les
contraintes d'intégrité
– - Isolation : les résultats intermédiaires d'une transaction ne
sont pas visibles pour les autres transactions
– - Durabilité : Le résultat d'une transaction validée est
persistant
• - Transaction parallèle :
• Une transaction parallèle est une transaction dont les
tâches sont exécutées en parallèle
• - Une requête sur un SGBD parallèle se traduit en général
en une transaction parallèle

1
10/12/2010

• Le préprocesseur : il effectue une vérification


syntaxique et sémantique de la requête en
consultant le dictionnaire de la base de données. • Le parallélisme inter requête :
Il transforme la requête sous forme algébrique.
• Ce type de parallélisme consiste à exécuter
• L’optimiseur parallele : il evalue les differentes
plusieurs requêtes pour améliorer le temps de
strategies d’executions et choisit celle qui
exploite le mieux les ressources de la machine réponse moyen de chaque utilisateur.
parallèle. Ce module génère un plan d’execution
parallele.
• Le moteur d’execution : il se charge d’executer
sur la machine cible le plan d’execution parallele.

• Le parallélisme intra requête : – Parallélisme intra opérateur : le mécanisme


• L’idée est de diviser une requête en consiste alors à décomposer l’operateur initial en
fragments, ces fragments sont mis en sous-opérateurs utilisant chacun un paquet de
exécution sur l’ensemble des processeurs. Ce chaque relation en entrée.
• (Cette décomposition est rendue possible grâce à la fragmentation des
type de parallélisme se divise en deux types : relations de la base, consistant à fragmenter horizontalement chaque
relation en paquets.)

2
10/12/2010

– Parallélisme inter opérateur : consiste à exécuter • Le parallélisme inter-opérateur pipeline : consiste à exécuter
deux opérateurs du graphe ayant un lien producteur-
en parallèle des operateurs d’une même requête. Il
consommateur. Le résultat du producteur n’est pas
existe deux formes de parallélisme inter-opérateur : matérialisé mais envoyé en pipeline à l’operateur suivant. Cela
• Le parallélisme inter-opérateur indépendant : consiste à évite la matérialisation complète de la relation intermédiaire.
exécuter en parallèle deux opérateurs indépendants du On appelle une chaîne pipeline l’ensemble des operateurs
graphe de la requête. exécutés en pipeline.

Traitement de requêtes séquentielles Analyse de requête


• L’exécution d’une requête séquentielle passe • Vérifier la validité de la requête en consultant
par plusieurs phases: le dictionnaire de données pour voir l’existence
– une analyse lexicale, syntaxique et sémantique est des relations et des attributs .
effectuée, • Examiner la validité grammaticale.
– la requête est transformée en un arbre d’exécution
• Pour générer un plan d’exécution optimal, des
logique,
simplifications sémantiques sont effectuées tel
– Cet arbre est optimisé par l’application des
transformations de l’algèbre relationnelle
que la détection de contradiction (ex :age=12 et
age>15)
– un plan d’exécution physique est produit en
choisissant le meilleur chemin d’accès aux données.

3
10/12/2010

Traduction algébrique
• Le résultat est un Plan d’Exécution
• Traduire la requête en une expression
Logique(PEL) qui sera transformé en un Plan
algébrique sous forme d’arbre.
d’Exécution Physique(PEP)
• L’arbre est composé des nœuds, des arcs, et
• L’exécution débute des feuilles qui manipulent
des feuilles.
les tables, les résultats sont ensuite envoyés
– les feuilles représentent les tables (relations),
aux nœuds pères et ainsi de suite jusqu’à
– les nœuds représentent les operateurs
l’obtention de résultat final à la racine.
algébriques,
– les arcs représentent, les flux de données allant
d’un nœud fils vers son nœud père.

Optimisation
• 1-1 Règles de transformation de l’algèbre
• L’optimisation se déroule en deux phases : relationnelle :
l’optimisation logique et l’optimisation physique.
– 1. Commutativité des jointures :
• 1 L’optimisation logique(Rewriting) :
• Le principal but est de réduire le volume de – 2. Associativité des jointures:
données manipulé en appliquant les règles de
transformation de l’algèbre relationnelle ainsi – 3. Regroupement des sélections:
que des heuristiques pour produire de bonnes
stratégies d’exécutions.
• Ces trois dernières règles sont utilisées pour descendre
les sélections, le plus bas possible dans l’arbre.

4
10/12/2010

Vous aimerez peut-être aussi