OPTIMISATION DE QUESTIONS



Documents pareils
TP Bases de données réparties

Évaluation et optimisation de requêtes

BAREME sur 40 points. Informatique - session 2 - Master de psychologie 2006/2007

Les bases de données

Sauvegarde collaborative entre pairs Ludovic Courtès LAAS-CNRS

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ;

Structure fonctionnelle d un SGBD

Présentation du module Base de données spatio-temporelles

Le Langage SQL version Oracle

Session S12 Les bases de l optimisation SQL avec DB2 for i

Implémentation des SGBD

Administration de Bases de Données : Optimisation

Systèmes de Gestion de Bases de Données (SGBD) relationnels Maude Manouvrier

Bases de Données relationnelles et leurs systèmes de Gestion

Oracle 11g Optimisez vos bases de données en production (ressources matérielles, stockage, mémoire, requêtes)

Bases de Données. Plan

INEX. Informatique en Nuage : Expérimentations et Vérification. Livrable n M1 PARALLÉLISME ET ÉVALUATION

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

Bases de données réparties: Fragmentation et allocation

Du 10 Fév. au 14 Mars 2014

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

Le Langage De Description De Données(LDD)

Partie 7 : Gestion de la mémoire

Bases de données cours 1

Optimisation SQL. Quelques règles de bases

Chapitre Introduction : Notion de Bases de données. 2. Définition : BD Répartie. 3. Architecture des SGBD. 4. Conception des bases réparties

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

Optimisations des SGBDR. Étude de cas : MySQL

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs)

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

16H Cours / 18H TD / 20H TP

Systèmes d informations nouvelles générations. Répartition, Parallèlisation, hétérogénéité dans les SGBD. Exemple d application d un futur proche

Algorithmique I. Algorithmique I p.1/??

Exemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions

Magasins et entrepôts de données (Datamart, data warehouse) Approche relationnelle pour l'analyse des données en ligne (ROLAP)

Bases de données et sites WEB

Techniques d optimisation des requêtes dans les data warehouses

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7

1 Introduction et installation

Big Data et Graphes : Quelques pistes de recherche

OpenPaaS Le réseau social d'entreprise

Les bases de l optimisation SQL avec DB2 for i

Bases de Données. Stella MARC-ZWECKER. Maître de conférences Dpt. Informatique - UdS

<Insert Picture Here> Solaris pour la base de donnés Oracle

Note de cours. Introduction à Excel 2007

Administration des bases de données. Jean-Yves Antoine

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour

Contexte et motivations Les techniques envisagées Evolution des processus Conclusion

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

MEAD : temps réel et tolérance aux pannes pour CORBA

SQL Historique

Introduction aux outils BI de SQL Server Fouille de données avec SQL Server Analysis Services (SSAS)

Ora2Pg Performances. (C) 2013 Gilles Darold

Big Data et Graphes : Quelques pistes de recherche

A QUOI SERVENT LES BASES DE DONNÉES?

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

Bases de Données. Le cas des BD relationnelles ouverture sur les BD relationnelles spatiales Séance 2 : Mise en oeuvre

TP11 - Administration/Tuning

Java et les bases de données

THÈSE. présentée à TÉLÉCOM PARISTECH. pour obtenir le grade de. DOCTEUR de TÉLÉCOM PARISTECH. Mention Informatique et Réseaux. par.

Administration des bases de données relationnelles Part I

Le langage SQL pour Oracle - partie 1 : SQL comme LDD

Programmation parallèle et distribuée

BIG Data et R: opportunités et perspectives

PROJET 1 : BASE DE DONNÉES REPARTIES

Argument-fetching dataflow machine de G.R. Gao et J.B. Dennis (McGill, 1988) = machine dataflow sans flux de données

PHP 5. La base de données MySql. A. Belaïd 1

Cours: Les Jointures 1

Compte-rendu de projet de Système de gestion de base de données

où «p» représente le nombre de paramètres estimés de la loi de distribution testée sous H 0.

Quelques aspects du Relationnel-Objet du SGBD Oracle

La présente publication est protégée par les droits d auteur. Tous droits réservés.

Bases de données. Chapitre 1. Introduction

Chapitre VIII. Les bases de données. Orientées Objet. Motivation

Sybase Adaptive Server Enterprise 15

ISC Système d Information Architecture et Administration d un SGBD Compléments SQL

A QUOI SERVENT LES BASES DE DONNÉES?

Bases de données élémentaires Maude Manouvrier

L objet de cet article est de présenter succinctement ces possibilités.

La lettre. La Gestion des filiales dans une PME : Bonnes Pratiques et Pièges à éviter. Implantations à l étranger : Alternatives à la création

M2-Images. Rendu Temps Réel - OpenGL 4 et compute shaders. J.C. Iehl. December 18, 2013

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

Présentation Alfresco

Magister en : Electrotechnique

Programme détaillé BTS INFORMATIQUE DE GESTION DIPLÔME D ETAT. Objectifs de la formation. Les métiers. Durée de la formation

Guide de configuration d'une classe

Surveillance et maintenance prédictive : évaluation de la latence de fautes. Zineb SIMEU-ABAZI Univ. Joseph Fourier, LAG)

Bases de données et sites WEB Licence d informatique LI345

Comment reproduire les résultats de l article : POP-Java : Parallélisme et distribution orienté objet

Introduction à MATLAB R

4 Exemples de problèmes MapReduce incrémentaux

Introduction aux Bases de Données

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS

Access 2007 FF Access FR FR Base

Données Réparties. Thibault BERNARD.

Cours Bases de données

Transcription:

OPTIMIATION DE QUETION OBJECTIF ET ETAPE DE L'OPTIMIATION ANALYE YNTAXIQUE ET EMANTIQUE CONTUCTION DE PLAN CANDIDAT CHOIX DU PLAN OPTIMAL Page 2 Architecture en couche d un GBD Gestion de Mémoire Interface Analyseur sémantique Optimiseur Moteur d exécution Opérations relationnelles Méthodes d accés aux données Gestion de Verrous ystème opérationnel Gestion des Journaux Optimisation :??? Page 3 elect From Where equête QL Arbre logique Arbre Physique Page 4 Le problème : équivalence sémantique Une question Plusieurs expressions équivalentes en QL Plusieurs expressions équivalentes en algèbre Optimisation Plusieurs algorithmes algébriques équivalents Donner des exemples de requêtes équivalentes en QL

Le Problème : différence de performances Page 5 Coût Page 6 Les acteurs de l optimisation Idéalement : 2 requêtes équivalentes en QL (langage déclaratif) doivent, après l optimisation, produire le même arbre algébrique! Qui plus est, cet arbre doit être le meilleur! euls les concepteurs de GBD (noyau) doivent comprendre l optimisation et l exécution Dans la pratique : 2 requêtes équivalentes ne donnent pas toujours le même plan Le plan n est pas toujours le meilleur! l utilisateur (concepteur de l appli) devra comprendre!!! Plans sémantiquement équivalents Page 7 Les acteurs de l optimisation (suite) Utilisateur / DBA 2 3 1 Etc 3 2 1 1 equête QL Optimiseur Plan 2 2 3 3 2 2 3 3 églage / hints Exécution Objectifs de l optimisation Page 8 Trouver le meilleur plan d exécution. MEILLEU??? Donnant les résultats le + vite. Optimisation pour le temps de réponse (response time) Minimisant la consommation de ressources Optimisation du travail total (Total work) Minimisant le temps de délivrance des premiers tuples Optimisation de la latence (Latency / First tuples ) Trouver des applications pour chaque type d optimisation

ETAPE DE L'EVALUATION Analyse de la question (étape I) Page 9 Page 1 1. CONTOLE YNTAXIQUE ET EMANTIQUE 2. IMPLIFICATION DE LA EQUETE 3. DECOMPOITION EN OPEATION ELEMENTAIE ET CONTUCTION DE PLAN D'EXECUTION CANDIDAT 4. CALCUL DU COUT DE CHAQUE PLAN, CHOIX DU MEILLEU ET EXECUTION ETAPE 1,2 et 3 : INDEPENDANTE DE DONNEE ETAPE 4: DEPENDANTE DE DONNEE 1. ANALYE YNTAXIQUE VEIFIE LA YNTAXE ET LA COHEENCE DE LA QUETION PA APPOT AU CHEMA DE LA BD : > EXITENCE DE ELATION ET DE ATTIBUT 2. ANALYE EMANTIQUE VEIFIE LA COECTION EMANTIQUE DE LA QUETION ECHECHE DE QUETION EQUIVALENTE PLU IMPLE Page 11 Exemple BAE DE DONNEE : BUVEU (,NOM,PENOM,ADEE,EGION) ABU (,,DATE,QUANTITE) VIN (,CU,EGION,MILLEIME,DEGE) EQUETE : "NOM ET PENOM DE BUVEU BEANAI AYANT BU DU JUANCON DE 1976 DE DEGE < 14, LE 8 AOUT 1988" Page 12 Vérification de la correction de la question (1) NOTION 1 : GAPHE DE CONNEXION DE ELATION UN OMMET ET AOCIE A CHAQUE ELATION UNE JOINTUE ET EPEENTEE PA UN AC UNE ETICTION PA UNE BOUCLE U UNE ELATION UNE POJECTION PA UN AC VE LE NOEUD EULTAT LA QUETION ET INCOECTE I LE GAPHE ET NON CONNEXE ELECT NOM, PENOM FOM VIN V, ABU A, BUVEU B WHEE V.MILLEIME 1976 AND V.DEGE < 14 AND V.CU "JUANCON" AND A.DATE > "88-8-8" AND B.EGION "BEAN" AND B. A. AND A. V. A.date>"88.8.8" A ésultat B.V. NOM, PENOM B A.V. V B.région"Béarn" V.degré<14 & V.cru"Jurançon"

Vérification de la correction de la question (2) Page 13 NOTION 2 : GAPHE DE CONNEXION DE ATTIBUT Vérification de la correction de la question (3) Page 14 EXEMPLE : UN OMMET ET AOCIE A CHAQUE EFEENCE D'ATTIBUT OU DE CONTANTE, c UN AC DE LA FOME X Y EPEENTE X < Y + c, UNE EGALITE ET MATEIALIEE PA DEUX AC VALUE PA, UNE QUETION ET CONTADICTOIE I ON GAPHE DE CONNEXION DE ATTIBUT PEENTE UN CYCLE DONT LA OMME DE VALUATION ET NEGATIVE V.DEGE 14 V.CU JUANCON A.DATE 88.8.8 B.EGION BEAN B. A. A. V. ELECT * FOM VIN V, ABU A WHEE V.MILLEIME 1978 AND A.DATE < 1976 AND V.MILLEIME A.DATE IL EXITE UN CYCLE DE VALUATION -2: V.MILLEIME CETTE ELECTION ET INATIFAIABLE 1978-2 A.DATE 1976 Page 15 Questions équivalentes (étape II) Questions équivalentes : Utilisation de la logique Page 16 EXEMPLE : EQUETE INITIALE : NOTION 3 : QUETION EQUIVALENTE DEUX QUETION ONT EQUIVALENTE I ELLE DONNENT LE MEME EULTAT POU TOUTE EXTENION DE LA BAE DE DONNEE ELECT * FOM VIN V WHEE ((V.DEGE 12) O (V.CU 'MOGON') O (V.CU 'CHENA')) AND NOT ((V.CU 'MOGON') O (V.CU 'CHENA')) P Q Q CITEE : ((P Q ) NOT (Q )) <> (P NOT (Q )) 2 MOYEN : UTILIATION DE LA LOGIQUE DE PEDICAT UTILIATION DE CONTAINTE D'INTEGITE EQUETE EQUIVALENTE IMPLIFIEE : ELECT * FOM VIN V WHEE (V.DEGE 12) AND NOT ((V.CU 'MOGON') O (V.CU 'CHENA')) P Q Pourquoi l utilisateur écrirait-il une requête idiote comme celle ci?

Utilisation des contraintes d'intégrité (1) Utilisation des contraintes d'intégrité (2) Page 17 Page 18 PINCIPE : ETANT DONNE : - UNE QUETION DE QUALIFICATION Q - UN ENEMBLE DE CONTAINTE D'INTEGITE {I1, I2, In} I Q ET CONTADICTOIE AVEC L'UNE AU MOIN DE CONTAINTE Ii, ALO LA QUETION A UNE EPONE VIDE. EXEMPLE : EQUETE UTILIATEU : ELECT * FOM VIN WHEE CU 'JUANCON' AND DEGE < 1 CONTAINTE D'INTEGITE U VIN : CU 'JUANCON' DEGE > 12 EQUETE MODIFIEE : ELECT * FOM VIN WHEE CU 'JUANCON' AND DEGE < 1 AND DEGE > 12 pas de réponse possible Utilisation des contraintes d'intégrité (3) Construction et choix du meilleur plan Page 19 Page 2 Une contrainte d'intégrité peut également servir à compléter le critère de la requête utilisateur afin de profiter d'index LOQUE LA EQUETE ET COECTE, LE BUT ET D'AOCIE UN PLAN D'EXECUTION A LA EQUETE, AFIN QUE LE COUT D'EXECUTION OIT MINIMUM. EXEMPLE : Index secondaire déclaré sur l'attribut Vin.degré CONTAINTE D'INTEGITE U VIN : CU 'JUANCON' > DEGE > 12 EQUETE UTILIATEU : EQUETE MODIFIEE : ELECT * ELECT * FOM VIN FOM VIN WHEE CU 'JUANCON' WHEE CU 'JUANCON' AND DEGE > 12 2 METHODE : LA ETUCTUATION ALGEBIQUE L'EVALUATION DE PLAN EMAQUE : CE DEUX METHODE NE ONT PA EXCLUIVE

Page 21 Importance du choix du meilleur plan (1) Page 22 Importance du choix du meilleur plan (2) DITIBUTION DE DONNEE DAN LA BAE : BAE DE DONNEE : BUVEU (,NOM,PENOM,ADEE,EGION) ABU (,,DATE,QUANTITE) VIN (,CU,EGION,MILLEIME,DEGE) EQUETE : "NOM DE BUVEU BEANAI AYANT BU DU JUANCON EQUETE QL : ELECT NOM,, DATE FOM VIN V, ABU A, BUVEU B WHEE B. A. AND A. V. AND V.CU "JUANCON" AND B.EGION "BEAN" 1 BUVEU DONT 5 ONT BEANAI (2 pages) 5 VIN DONT 5 ONT DE CU JUANCON (5 pages) 2 ABU (2 pages) ON UPPOE UNE EQUI-EPATITION DE DONNEE EN MOYENNE 2 ABU PA BUVEU ET 4 ABU PA VIN 1 TUPLE EULTAT DE LA EQUETE INFOMATION U LE TOCKAGE 1 PAGE DIQUE PEUT CONTENI : - 5 BUVEU OU 5 NOM - 1 VIN OU 1 ABU TOUTE LE ELATION ONT TIEE U CLE COUT DU TI D'UNE ELATION DE N PAGE 2N LOG N 2 Page 23 Importance du choix du meilleur plan (3) TATEGIE 1: EXECUTE LE OPEATION DAN L'ODE DE LA EQUETE EXECUTE LE JOINTUE PA PODUIT CATEIEN 1ère PHAE : JOINTUE BUVEU >< ABU >< VIN NOMBE DE PAGE LUE (1/5) * (2/1) * (5/1) 2 * 2 * 5 2. E/ NOMBE DE PAGE ECITE 2 TUPLE EULTAT 8 PAGE 8E/ 2ème PHAE : ETICTION PUI POJECTION 8 LECTUE + 1 ECITUE 81 E/ Page 24 Importance du choix du meilleur plan (4) TATEGIE 2: EXECUTE LE OPEATION DAN L'ODE DE LA EQUETE EXECUTE LE JOINTUE PA TI-FUION 1ère PHAE : JOINTUE (BUVEU >< ABU) TEMP1 NOMBE DE PAGE LUE (1/5) + (2/1)) 2 + 2 22 E/ NOMBE DE PAGE ECITE 2 TUPLE EULTAT 67 PAGE 67E/ TOTAL > 2. E/

Page 25 Importance du choix du meilleur plan (5) 2ème PHAE : TI DE TEMP1 U 2 * (67LOG 2 67) 2 * 67 * 1 13.4 E/ 3ème PHAE : JOINTUE TEMP1 >< VIN NOMBE DE PAGE LUE (67) + (5/1) 72 E/ NOMBE DE PAGE ECITE 2 TUPLE EULTAT 8 PAGE 8E/ Page 26 Importance du choix du meilleur plan (6) TATEGIE 3: EXECUTE LE ETICTION AVANT LE JOINTUE EXECUTE LE JOINTUE PA PODUIT CATEIEN 1ère PHAE : ETICTION BUVEU TEMP1 NOMBE DE PAGE LUE NOMBE DE PAGE ECITE (1/5) 2 E/ 5 TUPLE EULTAT 1 PAGE 1 E/ 4ème PHAE : ETICTION PUI POJECTION 8 LECTUE + 1 ECITUE 81 E/ TOTAL 16.611 E/ 2ème PHAE : ETICTION VIN TEMP2 NOMBE DE PAGE LUE NOMBE DE PAGE ECITE (5/1) 5 E/ 5 TUPLE EULTAT 5 PAGE 5 E/ Importance du choix du meilleur plan (7) ABE ELATIONNEL (étape III) Page 27 Page 28 3ème PHAE : JOINTUE TEMP1 >< ABU >< TEMP2 ETICTION POJECTION V., V.CU NOMBE DE PAGE LUE 1 * (2/1) * 5 1. E/ NOMBE DE PAGE ECITE 1 TUPLE EULTAT 4 PAGE 4 E/ TOTAL 18 E/ JOINTUE PODUIT CATEIEN V. CU "BEAUJOLAI".a.b X DIFFEENCE UNION _ U

Exemple (1) Exemple (2) Page 29 Page 3 "Donner les noms et les prénoms des buveurs habitant Paris qui ont bu du Mâcon 1977 après le 15/5/88" B A V B A V B A V VILLE "Paris" DATE> "15/5/88" CU "Mâcon" ^ MIL 1977 VILLE "Paris" DATE > "15/5/88" CU "Mâcon" ^ MIL 1977 CU "Mâcon" ^ MIL 1977 ^ VILLE "Paris" ^ DATE > "15/5/88" NOM PENOM NOM PENOM NOM PENOM Attention, les arbres se présentent généralement dans l autre sens! De ces trois arbres, quel est le meilleur?? Page 31 estructuration algébrique Commutativité/Associativité des Jointures Page 32 POBLEME : UIVANT L'ODE DE OPEATEU ALGEBIQUE DAN UN ABE, LE COUT D'EXECUTION ET DIFFEENT POUQUOI? 1. LE COUT DE OPEATEU VAIENT EN FONCTION DU VOLUME DE DONNEE TAITEE i.e., PLU LE NOMBE DE TUPLE DE ELATION TAITEE ET PETIT, PLU LE COUT CPU ET D'E/ ONT MINIMIE T T 2. CETAIN OPEATEU DIMINUENT LE VOLUME DE DONNEE e.g., ETICTION ET POJECTION

Page 33 Groupage des estrictions Page 34 emi-commutativité des Projections / Ai a Ai a Ai, A1, Ap Ai a et Aj b A1, Ap Ai a Aj b Il est possible de remonter les projections, mais les attributs utilisés dans la suite doivent être conservés!!! A1, Ap Page 35 ègles de estructuration Page 36 Heuristique d'optimisation (étape IV) (1) COMMUTATIVITE DE JOINTUE (2) AOCIATIVITE DE JOINTUE (3) GOUPABILITE DE ETICTION (4) EMI-COMMUTATIVITE DE POJECTION ET ETICTION (5) DITIBUTIVITE DE ETICTION / JOINTUE (6) EMI-DITIBUTIVITE DE POJECTION / JOINTUE (7) DITIBUTIVITE DE ETICTION / UNION OU DIFFEENCE (8) DITIBUTIVITE DE POJECTION / UNION Appliquer d'abord les opérations réductrices (restrictions et projections) en les groupant sur chaque relation. 1. Dégrouper les restrictions (ègle 3') 2. approcher les restrictions des feuilles (ègles 4, 5 et 7) 3. Grouper les restrictions aux feuilles (ègle 3) 4. approcher les projections des feuilles (ègles 4, 6 et 8) L'ordre des unions, différences et jointures reste inchangé!!!

Page 37 Exemple d'optimisation Page 38 Problème de l'ordonnancement B A V CU "Mâcon" ^ MIL 1977 ^ VILLE "Paris" ^ DATE > "15/5/88" NOM PENOM NOM PENOM B A V VILLE "Paris" NOM PENOM DATE > "15/5/88" NOM PENOM CU "Mâcon" ^ MIL 1977 Il faut pouvoir ordonner jointures, union, différence, agrégat, en fonction des tailles des relations arguments Il faut pouvoir prendre en compte les algorithmes par index afin de les favoriser (sélection, jointure sur index) Nécessité de développer un modèle de coût général permettant d'évaluer le coût d'un plan, c'est-à-dire d'un arbre annoté par des choix d'algorithmes. Annotation: Marque associée à un noeud indiquant l'algorithme à utiliser pour l'opérateur avec ses paramètres (index, hachage, ) Page 39 CHOIX DU MEILLEU PLAN Page 4 Différentes tratégies Graphe d'opérations chéma interne earch trategy Plans d'exécution (espace de recherche) Générateur de Plans Bibliothèque de transformations Enumerative andomized tatégie de echerche Modèle de coût Heuristiques de choix Exhaustive Augmentation Heuristic Iterative Improvement imulated Annealing Genetic Plan d'exécution Optimal

Page 41 Espace de recherche Page 42 Jointure par hachage des relations et Les opérations binaires ne sont pas symétriques (au niveau de l exécution) Notion de pipeline / matérialisation Notion de relation externe / interne Notion de lien bloquant / non bloquant Différentes formes d arbres sont possibles. Influence sur La consommation mémoire Le mode d exécution et donc les performances can1 Build Probe can2 table de hachage Test Insertion dans la table de hachage Test avec la table de hachage Décrire l algo par hachage. Page 43 Pipeline simple / Pipeline non bloquant Arbre de type linéaire droit (right deep tree) Page 44 Probe 3 table de hachage Test Insertion dans la table de hachage Test avec la table de hachage table de hachage Test table de hachage U T Build 3 can U Build 2 Probe 2 Probe 1 can T Build 1 can can Applications?? Calculer la taille mémoire nécessaire

Arbre de type linéaire gauche (left deep tree) Page 45 Page 46 Arbre de type bushy (bushy tree) Probe 3 Probe 3 T U Build 3 Build 2 Probe 2 can T can U Build 3 Probe 1 Build 2 Probe 2 can U Build 1 Probe 1 can T U Build 1 can can T can can Calculer la taille mémoire nécessaire Calculer la taille mémoire nécessaire Ordre de grandeur Optimisation physique Page 47 Page 48 Jointure de 5 relations: (avec produits cartésiens) 12 arbres linéaires différents 162 arbres bushy différents Jointure de 1 relations: (avec produits cartésiens) 3 628 8 arbres linéaires différents 17 643 225 6 arbres bushy différents!!! Choix des meilleurs algorithmes pour les opérations relationnelles Utilisation des indexs jointure par index, nested loop, etc... En fonction de tructures de données existantes tatistiques sur les relations Algorithmes existant

Modèle de coût Le calcul des tailles Page 49 Page 5 Paramêtres d entrée machine (puissance, disques, mémoire, réseau, etc..) Arbre d exécution Algorithmes relationnels chéma de la base tatistiques sur les relations Taille, Domaine, Nb valeurs distinctes,épartition,histogrammes Traitement Evaluation de la taille des résultats intermédiaires Evaluation du coût ortie Un coût en termes d I/O, CPU, etc... ou un coût global Taille des tables de base dans le catalogue Calcul des tailles à la compilation application du coefficient de sélectivité hypothèse d uniformité Possibilité d histogrammes untat(<table>, <attribut>) tockage dans le catalogue de l histogramme de distribution de l attribut Utilisation par le modèle de coût électivité de prédicats simples, complexes, de jointure (différents cas) Jointures par boucles imbriquées (coût I/O) Jointure avec index/ tri-fusion Page 51 Page 52 Hypothèse 1: Mémoire ( m )> Plus petite relation ( ) + 2 Lire > I/O Lire page à page et joindre > I/O Total : + I/O Hypothèse 2: Mémoire ( m ) < Plus petite relation ( ) Lire M - 2 pages de Lire page à page et joindre > I/O ecommencer jusqu à fin de Total : /( m - 2) x + I/O Hypothèse 3: Mémoire 3 pages!!! Lire page à page Lire page à page et joindre > I/O Total : x + I/O Jointure avec index i il existe un index sur l attribut de jointure et I LA ELATION INDEXEE TIEN EN MEMOIE!!! Lire une page de Parcourir l index et trouver l(es) attributs joignant Jointures par tri-fusion Trier les 2 relations Joindre avec 2 pointeurs en parallèle...

emi-jointures Optimisation dynamique Page 53 Page 54 Principe: On projette sur l attribut de jointure (sans doublons) dans On lit et on ne retiens que les tuples existant dans On joint les tuples résultat avec Intérêt? Normalement l optimisation se fait à la compilation. Le coût n est pas imputé à l utilisateur Optimisation des requêtes fréquemment posées On peut prendre son temps (dans une certaine mesure) L optimisation dynamique propose de compléter l optimisation statique juste avant l exécution pendant l exécution Optimisation parallèle Optimisation parallèle Page 55 Page 56 tratégie two phase optimization hypothèse: Le meilleur plan parallèle est une parallélisation du meilleur plan séquentiel simple tratégie one phase optimization On produit un espace de recherche contenant des plans parallèles Explosion de l espace de recherche Complexe (modèle de coût) Problèmes Localisation des relations Localisation des opérateurs Degré de parallélisme? cheduling?? elect... from... where... Query Blocking edge Pipelinable edge Pipeline chain Join tree T Build 2 can 2 Probe 2 Operator homes Build 1 can 1 Probe 1 can 3 Operator Tree Operator cheduling Hash constraints : Build1<Probe1, Build2<Probe2 Heuristic 1: Build2<can3, Build1<can3 Heuristic 2: Build2<can1 home(can1, Build1) Node A home(can2, Build2) Node B home(can3, Probe 1, Probe2) Node A,B

Optimisation distribuée Prise en compte de fonctions Page 57 Page 58 Même type de problématique que pour le parallélisme... Arbre d opérateur Localisation des opérateurs cheduling des opérateurs Dans un contexte différent Coût réseau importants Duplications fréquente Fragmentation vetricale et horizontale Techniques complexes (voir Ozsu/Valduriez) Modélisation des fonctions emet en cause certains principes et heuristiques Nécessite de nouveaux opérateurs i les fonctions sont coûteuses, nécessite de prendre en compte de nouvelles techniques Cache Parallélisme Problème ouvert Etude de cas Exécution distribuée de requêtes QL incluant des fonctions chères et manipulant des objets volumineux (BLOB s) Page 6 Etude de cas But : Appliquer les notions introduites sur un cas original dans un contexte différent Contexte : Exécution distribuée de requêtes QL incluant des fonctions chères et manipulant des objets volumineux (BLOB s) Problèmes : Optimisation de ces requêtes??? Exécution efficace???

Exemple : Architecture Exemple : cenario Page 61 Client Page 62 ite de io: Brasilia server Table P contenant les pollutions mesurées : P(regId:int, date:int, value:double, ) Table V contenant des images (raster) de regions io server Data (P,V) Distributed Query Processing ao Paulo server Paris server Function (CV) ite de ao Paulo: V(regId:int, image:blob, ) Fonction CP permettant de calculer des indices de pollution en fonction des données brutes : function CP(double) double Function (CP) ite de Paris: Fonction CV permettant de calculer la couverture végétale sur une image raster. function CV(Blob) double Exemple : equête Exemple : Paramètres Page 63 Page 64 elect P.regId, CP(P.value), CV(V.image) From P, V Where P.regId V.regId and CP(P.value) > 1.5 and CV(V.image) <.3 Name Description Value CardP Cardinality of relation P 3 tuples DistP Number of distinct pollution measurements in P 15 measurements CardV Cardinality of relation V 5 tuples DistV Number of distinct images in V 5 images CardV P Cardinality of the result of V join P 2 tuples DistP_V P Number of distinct pollution measurements in V join P 1 measurements DistV_V P Number of distinct images in V join P 4 images ImgTrans Average image transfer time (with a 1Mb/s network bandwidth) 1 s CostCP Average per tuple cost of function CP 3 s CostCV Average per tuple cost of function CV 2 s σ pp Average selectivity for predicate p p (CP (P. value) > 1.5).5 σ pv Average selectivity for predicate p v (CV (V. image) <.3).8