Optimization of User-Defined Aggregate Functions : Parallization and Sharing

par Chao Zhang

Thèse de doctorat en Informatique

Sous la direction de Farouk Toumani et de Emmanuel Gangler.

Le jury était composé de Angela Bonifati, Myoung-Ah Kang.

Les rapporteurs étaient Dimitris Kotzinos, Reza Akbarinia.

  • Titre traduit

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


  • 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.


  • Résumé

    Applications of aggregations for information summary have great meanings in variousfields. System built-in aggregations are not sufficient to cover the needs of new applicationsin the age of analytics. UDAFs (user-defined aggregate functions) are becoming atype of fundamental operators in advanced data analytics. The UDAF mechanism providedby most of the modern systems suffers however from at least two severe drawbacks:defining UDAFs requires hardcoding the routine that computes the aggregationfunction, and the semantics of UDAFs is totally or partially unknown to the query processorwhich hampers the optimization possibilities. This thesis presents SUDAF (SharingUser-Defined Aggregate Functions), a declarative framework that allows users toformulate UDAFs as mathematical expressions and use them in SQL statements. SUDAFcomes equipped with the ability to generate efficient parallel implementation from users’UDAFs automatically and supports dynamic caching and reusing of partial aggregates.Our experiments show that the proposed sharing technique can lead from one to twoorders of magnitude improvement in query execution times.


Il est disponible au sein de la bibliothèque de l'établissement de soutenance.

Consulter en bibliothèque

La version de soutenance existe

Où se trouve cette thèse\u00a0?

  • Bibliothèque : Université Clermont Auvergne. Bibliothèque numérique.
Voir dans le Sudoc, catalogue collectif des bibliothèques de l'enseignement supérieur et de la recherche.