Résumé
La capacité à optimiser, c’est-à-dire à réécrire une expression qui décrit un besoin d’information, vers une autre expression équivalente mais qui se prêtera mieux à une évaluation efficace, est un atout fondamental des SGBD. Le cours tracera les principales avancées permettant l’optimisation : ordonnancement des jointures, optimisation adaptative, techniques spécifiques aux bases de données en mémoire, dans un environnement cloud, l’optimisation à base d’apprentissage. Enfin, nous montrerons comment passer au-delà de la variété « de surface » des modèles de données pour optimiser un « cœur commun » d’opérations sur des données hétérogènes (différents modèles de données), mais aussi optimiser des calculs hétérogènes (requêtes au sens classique des bases de données, ainsi que des calculs de matrice propres aux pipelines de calcul ML).