Big Data Warehouse : modèle de distribution des cubes de données à la volée
Auteur / Autrice : | Yassine Ramdane |
Direction : | Omar Boussaid |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique |
Date : | Soutenance le 21/11/2019 |
Etablissement(s) : | Lyon |
Ecole(s) doctorale(s) : | École doctorale InfoMaths (Lyon ; 2009-....) |
Partenaire(s) de recherche : | Equipe de recherche : Entrepôts, Représentation et Ingénierie des Connaissances |
établissement opérateur d'inscriptions : Université Lumière (Lyon ; 1969-....) | |
Laboratoire : Entrepôts- Représentation et Ingénierie des Connaissances / ERIC | |
Jury : | Président / Présidente : Salima Hassas |
Examinateurs / Examinatrices : Genoveva Vargas-Solar, Abdelmouneem Rezgui | |
Rapporteur / Rapporteuse : Olivier Teste, François Pinet |
Mots clés
Résumé
Le partitionnement et la distribution des données ont été largement utilisés dans les systèmes ''shared nothing systems'', plus particulièrement dans les systèmes distribués qui utilisent le paradigme MapReduce, tels que Hadoop et Spark. Ils ont été utilisés pour l’équilibrage des charges de données, pour éviter le chargement des partitions inutiles et pour guider laconception physique des bases de données et des entrepôts de données distribuées. Pour effectuer des analyses sur les données entreposées, nous utilisons généralement des requêtes OLAP. Une requête OLAP est une requête complexe contenant plusieurs opérations coûteuses, telles que la jointure en étoile, la projection, le filtrage et les opérations d’agrégats. Dans cette thèse, nous proposons différentes approches statiques et dynamiques de partitionnement et d’équilibrage des charges des données sur un cluster Hadoop, afin d’améliorer les performances des entrepôts de données distribuées.Nous avons proposé différents schémas statiques et dynamiques d’un entrepôt de données volumineux distribué sur un cluster de noeuds homogènes ; ce qui peut aider le système distribué à améliorer le temps d’exécution des opérations d’une requête OLAP. Nous avons proposé quatre approches : la première est une nouvelle stratégie de placement de données, pour permettre à un système de traitement des requêtes d’exécuter la jointure en étoile en un seul cycle MapReduce, sans la phase de shuffle. Dans la deuxième contribution, nous proposons différentes techniques de partitionnement et de bucketing pour éviter le chargement inutile de certains blocs de données HDFS et pour améliorer le traitement parallèle, en utilisant un modèle piloté par une charge de requêtes. Dans la troisième approche, nous proposons une nouvelle conception physique d’un entrepôt de données volumineux distribué sur un cluster Hadoop, en combinant la première approche basée sur les données et la seconde solution qui repose sur une charge de requêtes. La quatrième contribution a été développée pour améliorer les fonctions de groupement (Group-By) et d’agrégation en utilisant une approche dynamique capable de définir à la volée le meilleur schéma de partitionnement des reducers. Pour évaluer nos approches, nous avons fait des expérimentations avec différentes tailles de clusters, en utilisant différents volumes d’entrepôts de données, et où la table des faits contient plus de 28 milliards d’enregistrements. Nous avons utilisé le benchmark TPCDS, la plate-forme Hadoop-YARN, le moteur d’exécution Spark, le système Ray et Hive. Les résultats expérimentaux obtenus montrent que nos méthodes sont plus performantes que les approches existantes sur plusieurs aspects, notamment en terme du temps d’exécution des requêtes OLAP.