Ingénierie et optimisation des bases de données (NFE106)
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...En lire plus
Maîtrise des aspects systèmes des SGBD relationnels: stockage, évaluation de requêtes, concurrence d'accès et reprise sur panne.
Condition d'accès / publics visés
Licence informatique ou équivalent, maîtrise du modèle relationnel et bases en SQL et dans les systèmes informatiques
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.
Niveau
Niveau 6 (Bac+3 et Bac+4)
Contenu de la formation
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és de validation
Examen final
Description des modalités de validation
Examen final, sur papier.
Accompagnement et suivi
Sous l’autorité pédagogique du certificateur Cnam, les équipes du Cnam Bretagne vous offrent un accompagnement pendant votre parcours de formation à la fois sur les aspects administratifs, financiers, pédagogiques et techniques.
Cette UE est constitutive des diplômes suivants :
ECTS : 6
Modalité | Volume horaire | Employeur | France travail | Auto-financement |
---|---|---|---|---|
|
45 heures | 900 € | 260 € | 260 € |
Indexation officielle
FORMACODES
[M0A3B9] langage SQL - [M0A3] langage informatique - [M0] information
communication
[Z5C5A5A3] logiciel Oracle - [Z5C5A5] logiciel SGBD relationnel - [Z5C5] logiciel système gestion bases données - [Z5] logiciels/outils/applications/services
[Z5C5A5A2] logiciel MySQL - [Z5C5A5] logiciel SGBD relationnel - [Z5C5] logiciel système gestion bases données - [Z5] logiciels/outils/applications/services
[Z5C5A5A5] logiciel SQL Server - [Z5C5A5] logiciel SGBD relationnel - [Z5C5] logiciel système gestion bases données - [Z5] logiciels/outils/applications/services
[Z5C5A5A0] logiciel DB2 - [Z5C5A5] logiciel SGBD relationnel - [Z5C5] logiciel système gestion bases données - [Z5] logiciels/outils/applications/services
Mots clés
Expertise, Base de données, Optimisation, Système de gestion de base de données, Administration de bases de données, DBA, Langage SQL, Langage EXPLAIN, Logiciel ORACLE, Logiciel MYSQL, Logiciel SQL server, Logiciel DB2, Logiciel PostgreSQL, Logiciel SQLite, Base de données relationnelle, Tuning de requêtes
Indicateurs de résultat
INFOS
PRATIQUES
45 heures
17/02/2025
21/06/2025