Optimisation des fonctions d’agrégation définies par l’utilisateur : parallélisation et partage
Auteur / Autrice : | Chao Zhang |
Direction : | Farouk Toumani, Emmanuel Gangler |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique |
Date : | Soutenance le 25/11/2019 |
Etablissement(s) : | Université Clermont Auvergne (2017-2020) |
Ecole(s) doctorale(s) : | École doctorale des sciences pour l'ingénieur (Clermont-Ferrand) |
Partenaire(s) de recherche : | Laboratoire : Laboratoire d'Informatique, de Modélisation et d'Optimisation des Systèmes |
Jury : | Examinateurs / Examinatrices : Angela Bonifati, Myoung-Ah Kang |
Rapporteurs / Rapporteuses : Dimitris Kotzinos, Reza Akbarinia |
Mots clés
Mots clés contrôlés
Mots clés libres
Résumé
Les applications des agrégations pour la synthèse d’informations sont significatives dans de nombreux domaines. Les agrégations incorporées par défaut dans les systèmes ne sont pas suffisantes pour satisfaire les besoins qui émergent avec les progrès de l’analyse de données. Les UDAFs (User-Defined Aggregate Functions ou, en français, fonctions d’agrégation définies par l’utilisateur) sont en train de devenir un des opérateurs fondamentaux en analyse de données avancée. Le mécanisme UDAF fourni par la plupart des systèmes modernes souffre cependant d’au moins deux défauts : la définition d’UDAFs nécessite le codage en dur de la routine qui calcule la fonction d’agrégation, et la sémantique des UDAFs est totalement ou partiellement inconnue des processeurs de requêtes, empêchant leur optimisation. Cette thèse présente SUDAF (Sharing User-Defined Aggregate Functions), un cadre framework déclaratif qui permet aux utilisateurs de formuler des UDAFs sous la forme d’expressions mathématiques et de les utiliser dans des déclarations SQL. SUDAF est capable de générer automatiquement des implémentations parallèles efficientes à partir des UDAFs des utilisateurs, et supporte la mise en cache dynamique et la réutilisation des agrégats partiels. Nos expérimentations montrent que la technique de partage proposée permet des gains d’un à deux ordres de magnitude sur les temps d’exécution des requêtes.