Thèse soutenue

Optimisation des fonctions d’agrégation définies par l’utilisateur : parallélisation et partage

FR  |  
EN
Auteur / Autrice : Chao Zhang
Direction : Farouk ToumaniEmmanuel 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

FR  |  
EN

Mots clés contrôlés

Mots clés libres

Résumé

FR  |  
EN

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.