ISI - Ingénierie des systèmes d'information - UE - 2014-2015 NFE106 - Ingénierie et optimisation des bases de données Nicolas TRAVERS Informations extraites de BDO le 05-03-2015 Public concerné et conditions d'accès DEST en informatique ou licence informatique ou équivalent, maîtrise du modèle relationnel et bases en SQL et dans les systèmes informatiques Finalités de l'unité d'enseignement NFE106 Objectifs pédagogiques : Comprendre et maitriser le fonctionnement d'un SGBD Relationnel pour devenir un Expert en Base de Données ou plus communément appelé DBA. A partir d'un pannel riche, ce cours va permettre de comprendre comment fonctionne un SGBD et ainsi pouvoir optimiser les requêtes d'accès aux données. Véritable besoin en entreprise, surtout dans le cadre de gros projets, cette maitrise du SGBD permet de mieux appréhender le noyau du SGBD, l'optimisation des requêtes, la génération des statistiques, et le parallélisme des opérateurs indispensables pour obtenir de véritables gains de performances lors de l'utilisation de la base de données. Au programme, nous mettons l'accent sur les choix judicieux de stockage des données (et leurs impacts), les différentes techniques d'indexation qui sont la base de l'optimisation (et comment bien choisir son index), les coûts des opérations de manipulation du SGBD (pour éviter de faire des requêtes couteuses), l'optimisation et la génération d'un plan d'exécution, la maitrise de l'outils EXPLAIN (comprendre ce que produit l'optimiseur), les différents SGBD existants sur le marché et leurs approches en terme d'optimisation avec Oracle, MySQL, SQL Server (Microsoft), DB2 (IBM), PostgreSQL, SQLite. Nous étudierons également la dénormalisation de schéma relationnel en vu d'optimiser les requêtes très couteuses (que ce soit en temps ou en nombre de requêtes), et la conception de requêtes optimales ou plus communément appelées "Tuning de Requêtes" dans le milieu des experts en Base de Données, et la conception d'une base de données efficace et optimale pour un accès aux données performants pour vos applications. Fondement des Bases de Données. Afin de mieux appréhender ce cours, il est indispensable d'avoir déjà suivi un cursus en Bases de Données et son modèle d'exécution (opérateurs & index) qui sont abordés dans l'UE NFP107. Ce cours est donc une suite logique à NFP107 et va approfondir les bases acquises et donner une véritable expertise dans ce domaine : Ingénierie et Optimisation de base de Données. La formation d'experts dans ce domaine est un des besoins reconnus de l'industrie dans le domaine de l'ingénierie des systèmes de gestion des bases de données et est une des composantes de nombreux métiers: Architecte de SGBD, Administrateur de Bases de données, Ingénieur en Systèmes de gestion de données, Gestionnaire d'entrepôts de données, Urbaniste, etc. Mise en pratique. Cette maîtrise passe par la compréhension de techniques (optimisation de l'accès au support physique, algorithmique, stratégies d'optimisation) et leur mise en pratique sous forme de Travaux Pratiques avec le SGBD Oracle qui offrent des possibilités extrêmement variées et fines. Nous y étudierons l'extraction des informations nécessaires au DBA, l'exploitation de EXPLAIN, et l'optimisation de requêtes à travers des exemples typiques auxquels sont confrontés les DBA. Contacts Capacités et compétences visées : Expertise en système de base de données, optimisation de requêtes, indexation de données, EXPLAIN, Tuning de requêtes, expertise en stockage de données sous Oracle. Organisation Nombre de crédits enseignements ECTS 6 ECTS Modalités de validation : Examen final Projet, mémoire TP optimisation de SQL avec Oracle Contenu de la formation 2015-03-06T01:51:18 Optimisation SQL : a) Rappels de fonctionnement du SGBD Relationnel b) Stockage, index, arbre B, index bitmap et Hachage c) Algorithme de tri externe d) Algorithmes pour la projection, la jointure et les autres opérations indispensables au SGBD e) Règles d'optimisation logique et physique f) Accumulation de statistiques et utilisation pour l'optimisation g) Détails de l'outil EXPLAIN et de la compréhension des plans d'exécution INFO - Informatique Fiche informative sans valeur contractuelle Responsable national Nicolas TRAVERS Contact à Paris Accès 33 Case courrier: 2D4P10 Informatique d'entreprise 2 rue Conté 75003 Paris Tél : 01 58 80 84 71 Fax : 01 40 27 27 09 Alexandre LESCAUT [email protected] Informations complémentaires http://deptinfo.cnam.fr/new/ infos.php?ue=NFE106 ISI - Ingénierie des systèmes d'information - UE - 2014-2015 h) Stratégies d'optimisation tenant compte des mouvements de mémoire et des statistiques i) Pipelinage de requêtes et PL/SQL en pipeline j) Stratégies des moteurs de stockage sous Oracle, MySQL, Microsoft SQL Server, DB2, PostgreSQL et SQLite k) Tuning de requêtes SQL et amélioration des performances d'une application BD l) Dénormalisation de schéma relationnel TP d'optimisation sur ORACLE En faisant varier la base, et en utilisant l'outil EXPLAIN, on observe le choix de l'optimiseur du SGBD des stratégies d'optimisation de nombreuses requêtes SQL variées en mode sans statistiques puis en mode statistiques. Ce TP demande une connaissance de base de SQL. Bibliographie 2015-03-06T01:51:18 Auteurs G. Gardarin S. Abiteboul, R. Hull and V. Vianu H. Garcia-Molina, J. Ullman, J. Widom L. Navarro P. Rigaux, Y. Darmaillac R. Ramakrishnan, J. Gehrke Titre 'Bases de Données objet & relationnel', Eyrolles, 1999 Foundations of databases, Addison-Wesley, 1995 'DATABASE SYSTEM, THE COMPLETE BOOK' Prentice Hall,2000 'Optimisation des bases de données : Mise en oeuvre sous Oracle', Pearson, 2010 Maîtriser MySQL, 1re édition, décembre 2005 Database Management Systmes, Mc Graw Hill, 2nd edition, 2000 INFO - Informatique Fiche informative sans valeur contractuelle