Data placement recommendation for the workloads in Smartgrids Data lakes
Recommandation de placement de données pour les traitements dans des lacs de données Smartgrids
Résumé
This thesis focuses on optimizing the access of massive datasets that were generated and / or used in the management of intelligent electrical distribution networks or smart grids.These masses of data (raw measurements, refined data, historical data, etc.) are in practice represented in varied data models (relational, key-value, documents, graphs, etc.) and stored in very heterogeneous Big Data systems. These systems offer various functionalities (for example, some cannot perform a join), data structures (used for storage, indexing), algorithms and very different performances.The objective of this thesis is to propose an optimization approach for the processing of workflows on these datasets. The optimization we propose is the recommendation of the placement of the data on the most appropriate systems in order to minimize the total execution time of the workflow. It is based on metadata describing data sets, workflows, and storage and processing systems. Total execution time is composed of data transformation and movement time, and the execution time of queries rewritten based on those transformations. In this work, we are also exploring the possibility of moving data from one system to another if it offers interesting characteristics to favor the execution of workflow requests.In existing works estimating the execution time in data processing systems is commonly done using cost models. Although, the study of the techniques used in Big Data processing systems and integration / mediation systems of Big Data convinced us of the impossibility of using this approach to estimate the execution time. One interesting approach is to use machine learning techniques for our objective.We therefore propose an approach, called DWS - for Data, Workloads and Systems -, which explores the different combinations of systems that can execute a workflow. This approach eliminates solutions where the systems cannot execute all the operators of a query (feasibility condition) and which does not respect the business rules for the storage of the initial, intermediate or final dataset (condition of conformity). The final step consists of selecting the combination of systems that minimizes the execution time of the workload. The estimation of the execution time of the various queries (data transformation or extracted from the workflow) is based on the injection of statistics into the systems, to simulate the execution and thus retrieve the optimal plans and in case it is possible the queries cost estimated by the system. The costs obtained from the previous step are used with other metadata concerning the datasets, the workloads and the systems in a prediction model that is capable of estimating the execution time.To do this, we present in this document (i) a unified metadata model on data (sizes, distribution of values, availability, location, schemas, sizes, statistics, etc.), on workloads (queries, operators, applications, statistics, etc.) and on systems (APIs, data models, distribution models, storage models, etc.); (ii) An architecture and algorithms to support data placement recommendation for workloads; and (iii) the results of the experiments carried out using our prototype.
Cette thèse porte sur l’optimisation de l’accès aux masses de données générées et/ou exploitées dans la gestion des réseaux de distribution électriques intelligents ou smart grids. Ces masses de données (mesures brutes, données raffinées, historiques, etc.) sont en pratique représentées dans des modèles de données très variés (relationnel, clé-valeur, documents, graphes, etc.) et stockées dans des systèmes Big Data très hétérogènes. En effet ces systèmes offrent des fonctionnalités variés (par exemple, certains ne peuvent effectuer une jointure), des structures de données (pour le stockage, l’indexation), des algorithmes et des performances très différentes.L’objectif de cette thèse est d’aborder l’optimisation de workflow de traitements sur ces ensembles de données par la recommandation de placement des données sur les systèmes les plus appropriés de façon à minimiser le temps total d’exécution et en se basant sur des métadonnées décrivant les ensembles de données, les workflows et les systèmes de stockage et de traitement. Le temps total d’exécution est composé du temps de transformation et de déplacement des données, et du temps d’exécution des requêtes réécrites en fonction de ces transformations. En effet, nous explorons également la possibilité de déplacer les données d’un système à un autre s’il offre des caractéristiques intéressantes pour favoriser l’exécution des requêtes des workflows.L’étude des techniques utilisées dans les systèmes de gestion de masses de données et des systèmes d’intégration/de médiation de masses de données nous a convaincus de l’impossibilité de définir un modèle d’estimation de coût d’exécution de plans de requêtes universel qui permette de comparer les performances des différents systèmes. Une approche intéressante est d’utiliser des techniques d’apprentissage automatique pour cela.Nous proposons donc une approche, nommé DWS – pour Data, Workloads and Systems –, qui explore les différentes combinaisons de systèmes pour exécuter un workflow en éliminant les solutions où les systèmes ne peuvent exécuter tous les opérateurs d’une requête (condition de faisabilité) et qui respecte les règles métier quant au point de stockage des données initiales, intermédiaires ou finales (condition de conformité). L’estimation du temps d’exécution des différentes requêtes (de transformation de données ou extraites du workflow) se base sur l’injection de statistiques dans les systèmes, pour simuler l’exécution et ainsi récupérer les plans optimaux et éventuellement les estimations de coût, et l’estimation du temps d’exécution par apprentissage en incluant toutes les métadonnées utiles concernant les jeux de données, les workloads et les systèmes.Pour ce faire, nous présentons dans ce document (i) un modèle de métadonnées unifié sur les données (tailles, distribution de valeurs, disponibilité, emplacement, schémas, tailles, statistiques, etc.), sur les workloads (requêtes, opérateurs, applications, statistiques, etc.) et sur les systèmes (APIs, modèles de données, modèles de distributions, modèles de stockage, etc.) ; (ii) Une architecture et des algorithmes pour le support de la recommandation de placement de données pour des workloads ; et (iii) les résultats des expérimentations effectuées à l’aide de notre prototype.
Origine | Version validée par le jury (STAR) |
---|