Optimisation algébrique de requêtes relationnelles

Slides:



Advertisements
Présentations similaires
REFERENTIEL DE LA SERIE STG
Advertisements

L’optimiseur ORACLE L’optimiseur ORACLE suit une approche classique: Génération de plusieurs plans d’exécution. Estimation du coût de chaque plan généré.
Optimisation des requêtes
Évaluation des requêtes relationnelles
Systèmes, algorithmes et applications: Efficacité du parallélisme. Gaétan Hains LIFO, Université d'Orléans Janvier 2001.
Évaluation des requêtes relationnelles
Calculs de complexité d'algorithmes
SQL - Subtilités.
Fonctionnalités des SGBD
Directeur de Thèse : Pr. Witold Litwin
Witold Litwin Structures physiques Witold Litwin
Algèbre relationnelle
Techniques dindexation Implémentation du modèle relationnel ~ LIF10: Fondements des bases de données relationnelles.
1 Efficient Data and Program Integration Using Binding Patterns Ioana Manolescu, Luc Bouganim, Francoise Fabret, Eric Simon INRIA.
R. Saint-Paul, G. Raschia and N. Mouaddib IRIN, Nantes (France)
Optimisation de Requêtes
Bases de données orientées-objets
Optimisation de Requêtes
Sélection automatique d’index et de vues matérialisées
S.T.S. S.I.O. 1ère année La gestion de projets
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
To Tune or not to Tune? To Tune or not to Tune? A Lightweight Physical Design Alerter Costa Jean-Denis Le Yaouanc Aurélie Mécanismes de SGBD 2007.
Contrôles d'accès aux données
Eléments d ’algèbre relationnelle
Principes de persistance dans les applications orienté objet
LANGAGES LIES AU MODELE RELATIONNEL
1 Bases de Données Distribuées Chapitre 22, Sections 22.6–22.14.
2 Ils associent les rangées de 2 requêtes UNION [ALL] INTERSECT MINUS.
Les requêtes Les requêtes permettent dinterroger une base de données suivant 3 opérateurs : La projection Affiche le contenu dun champ complet En langage.
Indexation 1. Concepts de base 2. Arbre B 3. Indexes secondaires.
L’utilisation des bases de données
Algèbre relationnelle et SQL
Présenté à: M. Froduald Kabanza Par: Jonathan Pelletier Cody Stoutenburg Simon-Pierre Thibault.
1 SQL: Requêtes, Programmation et Triggers Chapitre 5, Sections
1 Tri Externe Chapitre 13: Pourquoi Trier? Problème classique en informatique (Voir Knuth, v.3)! Données requises en ordre trié P.ex.: Trouver.
1 Evaluation des Operations Relationnelles Chapitre 14, Section 14.4.
1 Évaluation des Requêtes: Survol Chapitre Objectifs Catalogue Préliminaires: Techniques de base pour traiter des requêtes Chemin daccès Correspondance.
Optimisation des Requêtes Relationnelles
1 Évaluation des Requêtes: Survol Chapitre Objectifs Catalogue Préliminaires: Techniques de base pour traiter des requêtes Chemin daccès Correspondance.
1 Tri Externe Chapitre 13: Pourquoi Trier? Problème classique en informatique (Voir Knuth, v.3)! Données requises en ordre trié P.ex.: Trouver.
1 Evaluation des Operations Relationnelles : Algorithmes Additionnels Chapitre 14, ,
1 SQL: Requêtes, Programmation et Triggers Chapitre 5, Sections
1 Survol du Stockage et de lIndexage Chapitre 8. 2 Objectifs Stockage persistant Organisation des fichiers Fichiers de données Fichiers dindexes Operations.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Évaluation des Requêtes: Survol Chapitre 12.
Cours de Base de Données & Langage SQL
Cours N°2 Base de Données & Langage SQL
1 SQL Avancé 2010 Witold Litwin 2 Quoi & Pourquoi ? n Possibilités Etendues de Manipulation de BDs relationnelles n Fondamentales pour lexploration approfondie.
1 SQL Manipulations Avancées (08-09) Witold Litwin.
1 SQL Manipulations Avancées (08-09) Witold Litwin.
1 SQL Manipulations Avancées Witold Litwin 2 Exemple canon S P SPSP.
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 SQL jointure PHILIPPE BANCQUART.
1 Notations Asymptotiques Et Complexité Notations asymptotiques : 0 et  Complexité des algorithmes Exemples de calcul de complexité.
Algèbre Relationnelle : Implémentation
Traduction des opérations sous MySQL
Access Les requêtes Table médias Table (*) Requêtes simples.
Bases de données fédéréEs hétérogènes
1 BDs Orientées Objets Witold LITWIN. 2 Pourquoi ? F Les BDs relationnelles ne sont pas adaptées aux applications CAD/CAM, cartes géo... F le problème.
Optimisation de requêtes
Mini-SGBD Implémentation des opérateurs algébriques Yohann HUBERT Christophe PANNEAU Licence informatique Année Maître de stage : M. KHAYATA.
1 G. Gardarin Optimisation de Requêtes  1. Introduction  2. Arbres relationnels  3. Restructuration algébrique  4. Modèle de coût  5. Choix du meilleur.
OPTIMISATION Institut National des Sciences Appliquées – Rouen Département Architecture des Systèmes d’Information.
22/04/2015© Robert Godin. Tous droits réservés.1 10 Évaluation des requêtes relationnelles n SQL – QUOI n Évaluateur de requêtes du SGBD – COMMENT – en.
Quinio1 Bases de données : modèlisation et SGBD Séance 3 B Quinio.
Structures de données avancées : Principales structures de fichiers
06/04/06 LES BASES DE DONNEES INTRODUCTION CogniTIC – Bruxelles Formation - Cepegra.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Matière Sélectionnée: Triage Externe, Join à Hachage, … Chapitres 13—15: 13.1—13.5, 14.4,
SIO1 – SI3 Manipulation des données2015 Travailler avec plusieurs tables Repérer la colonne charnière : elle contient la même donnée dans les 2 tables.
Traitement et optimisation de requêtes
Amin Mesmoudi. Les Besoins LSST en stockage et accès aux données (1/2) Stockage: 2 TableTaille#enregistrements#colonnes (arité) Object109 TB38 B470 Moving.
Algèbre relationnelle
Transcription de la présentation:

Optimisation algébrique de requêtes relationnelles Witold LITWIN

Exemple canon SP S P

Pourquoi optimiser algébriquement ? |S| = 100 et |SP| = 500 SELECT SNAME FROM S SP WHERE S.S# = SP.S# AND P# = 'P1' ; Strategies possibles : 1. ((S join SP ) where P# = 'P1' ) [SNAME] 2. ( S join (SP where P# = 'P1' )) [SNAME] Autres

Evaluation de performances Criteria: prix de mémoire et de CPU |T| : taille du résultat intermédiaire T {T} : nombre de tuples examinés pour produire T

Evaluation Stratégie 1: | T = S JOIN SP | SP| = 500 | T' = T WHERE P# = P1 | = 5 (en moyenne) | T'' = T' [SNAME] |  {T}  boucle imbriquée) ' '' (en moyenne)

Evaluation Stratégie 2 : | T = SP WHERE P# = P1 | = 5 (en moyenne) | T' = S JOIN T | T | = 5 | T'' = T' [SNAME] |  {T}  ' 

Comparaison Stratégie 2 est beaucoup plus efficace que Stratégie 1: 500 : 5 = 100 pour la mémoire temporaire 50505 : 1005 = 50 pour le CPU Optimisation est importante !

Graphe de la requête Stratégie 1 [SNAME] WHERE P# = 'P1' S SP

Graphe de la requête Stratégie 2 [SNAME] WHERE P# = 'P1' S SP

Règle principale d'optimisation algébrique relationnelle Les restrictions et les projections doivent en général être poussées vers le bas de l'arbre

Quelques autres règles utiles Toute règle d'amélioration algébrique, si prouvée valable dans certain cas Plusieurs opérations en même temps jointure et projection jointure et restriction restriction et projection Une projection sur l'attribut de jointure poussée sous la jointure Si mémoire est + chère que CPU, alors pousse max de projections vers le bas

Jointures multivaluées X JOIN Y JOIN Z JOIN V

Jointures multivaluées X JOIN Y JOIN Z JOIN V Traitement Parallèle V Z Y Z V X Y X

Jointures multivaluées X JOIN Y JOIN Z JOIN V Jointures parallèles hachées V Z X Y X Y Z V

Limites d'optimisation algébrique Le choix de stratégie optimale dépend aussi de structures physiques: hachées ou ordonnées ? boucle imbriquées pour jointures ou "sort-merge" (tri-interclassement) ou hachage ? pagination ou la base est en RAM indexation Solution générale : choix de solution à moindre coût (System R)

Conclusion Optimisation algébrique est la pierre angulaire des SGBD relationnels Aucune règle ne s'applique à tous les cas c'est pourquoi on parle souvent de règles d'amélioration seulement L'optimisation physique est au moins aussi importante Le traitement parallèle ou distribué est d'une importance déterminante pour des grandes tables

FIN