Optimization of User-Defined Aggregate Functions : Parallization and Sharing - TEL - Thèses en ligne
Thèse Année : 2019

Optimization of User-Defined Aggregate Functions : Parallization and Sharing

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

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.
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.
Fichier principal
Vignette du fichier
2019CLFAC100_ZHANG.pdf (4.84 Mo) Télécharger le fichier
Origine Version validée par le jury (STAR)
Loading...

Dates et versions

tel-02977845 , version 1 (26-10-2020)

Identifiants

  • HAL Id : tel-02977845 , version 1

Citer

Chao Zhang. Optimization of User-Defined Aggregate Functions : Parallization and Sharing. Other [cs.OH]. Université Clermont Auvergne [2017-2020], 2019. English. ⟨NNT : 2019CLFAC100⟩. ⟨tel-02977845⟩
186 Consultations
246 Téléchargements

Partager

More