Ingénierie et optimisation des bases de données

Code UE : NFE106

  • Cours + travaux pratiques
  • 6 crédits
  • Volume horaire de référence
    (+ ou - 10%) : 50 heures

Responsable(s)

Philippe RIGAUX

Public, conditions d’accès et prérequis

Licence informatique ou équivalent, maîtrise du modèle relationnel et bases en SQL et dans les systèmes informatiques

L'avis des auditeurs

Les dernières réponses à l'enquête d'appréciation pour cet enseignement :

Présence et réussite aux examens

Pour l'année universitaire 2022-2023 :

  • Nombre d'inscrits : 28
  • Taux de présence à l'évaluation : 54%
  • Taux de réussite parmi les présents : 87%

Objectifs pédagogiques

Comprendre et maitriser le fonctionnement d'un SGBD Relationnel pour devenir capable d'analyser les problèmes de performance et de cohérence et de proposer des solutions fondées. Un des principaux débouchés de la formation est une fonction d'administrateur de bases de données. Le contenu du cours 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 le stockage des données, les différentes techniques d'indexation qui sont la base de l'optimisation (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 des outils de type 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. Les techniques de concurrence d'accès et de reprise sur panne sont également présentées.

Afin de mieux appréhender ce cours, il est indispensable d'avoir déjà suivi un cours sur les fondements, l'interrogation et la conception de bases de données telles qu'ils sont abordés dans l'UE NFP107. Ce cours est donc une suite logique à NFP107 et va approfondir les bases acquises. 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. 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.

Compétences visées

Maîtrise des aspects systèmes des SGBD relationnels: stockage, évaluation de requêtes, concurrence d'accès et reprise sur panne. 

Contenu

Les Systèmes de Gestion de Bases de Données (SGBD) sont des logiciels complexes qui offrent un ensemble complet et cohérent d’outil de gestion de données: un langage de manipulation et d’interrogation (SQL par exemple), un gestionnaire de stockage sur disque, un gestionnaire de concurrence d’accès, des interfaces de programmation et d’administration, etc.
Le cours propose d’aller ”sous le capot” des systèmes relationnels pour étudier comment ils fonctionnent et réussissent le tour de force de proposer des accès sécurisés à des centaines d’utilisateurs en parallèle, tout en obtenant des temps de réponses impressionnants même pour des bases très volumineuses. Le contenu correspond typiquement à un cours universitaire de deuxième cycle en informatique. Il couvre les connaissances indispensables à tout informaticien de niveau ingénieur amené à mettre en place des applications professionnelles s’appuyant sur une base de données (soit une classe d’application extrêmement courante).
Le cours comprend trois parties consacrées successivement au stockage et aux structures de données, au méthodes et algorithmes d’optimisation, et enfin aux transactions et à la reprise sur panne.
a) Rappels de fonctionnement du SGBD Relationnel
b) Stockage
c) Structures d'index: l'arbre B
d) Structures d'index: le hachage
e) Opérateurs d'évaluation des requêtes
f) Optimisation de requêtes: plans d'exécutions, outils EXPLAIN
g) Transactions
h) Concurrence d'accès
g)  Reprise sur panne

TP d'optimisation sur Postgres
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. Ce TP demande une bonne connaissance de SQL. Ce TP est proposé en ligne.

TP concurrence d'accès 
Ces travaux pratiques consistent à expérimenter le comportement d'un système transactionnel conforme à la norme SQL. Des simulations dan des scénarios variés amènent à comprendre les différents niveaux d'isolation et les propriétés ACID de ces systèmes.  Ce TP est proposé en ligne.

Modalité d'évaluation

Examen final, sur papier.

Bibliographie

  • R. Ramakrishnan, J. Gehrke : Database Management Systmes, Mc Graw Hill, 2nd edition, 2000
  • H. Garcia-Molina, J. Ullman, J. Widom : DATABASE SYSTEM, THE COMPLETE BOOK” Prentice Hall,2000
  • Philippe Rigaux : Support de cours complet, http://sys.bdpedia.fr

Cette UE apparaît dans les diplômes et certificats suivants

Contact

EPN05 - Informatique
292 rue saint Martin 33.1.13B
75003 Paris
Tel :01 40 27 22 64
Florian Gau

Voir le calendrier, le tarif, les conditions d'accessibilité et les modalités d'inscription dans le(s) centre(s) d'enseignement qui propose(nt) cette formation.

UE

    • Paris
      • Paris
        • 2024-2025 2nd semestre : Formation ouverte et à distance (FOAD)
        Comment est organisée cette formation ?
        2024-2025 2nd semestre : Formation ouverte et à distance

        Dates importantes

        • Période des séances du 03/02/2025 au 07/06/2025
        • Période d'inscription : du 10/06/2024 à 10:00 au 14/03/2025 à 17:00
        • Date de 1ère session d'examen : la date sera publiée sur le site du centre ou l'ENF
        • Date de 2ème session d'examen : la date sera publiée sur le site du centre ou l'ENF

        Précision sur la modalité pédagogique

        • Une formation ouverte et à distance (FOAD) est une formation dispensée 100% à distance, qui peut être suivie librement, à son rythme.
        • Regroupements physiques facultatifs : Aucun

        Organisation du déploiement de l'unité

        • Délai maximum de réponse à une solicitation : sous 96 heures (Jours ouvrés)

        Modes d'animation de la formation

        • Forum
        • Organisation d'une séance de démarrage
        • Evaluation de la satisfaction
        • Hot line technique

        Ressources mises à disposition sur l'Espace Numérique de Formation

        • Documents de cours
        • Enregistrement de cours
        • Documents d'exercices, études de cas ou autres activités pédagogiques
        • Bibliographie et Webographie

        Modalité de contrôle de l'acquisition des compétences et des connaissances (validation de l'UE)

        • Examens présentiels dans un centre habilité
        • Examens en ligne
        • Contrôle continu (travaux à rendre)