Big Data Warehouse : model de distribution des cubes de données à la volée
Big Data Warehouse : modèle de distribution des cubes de données à la volée
Résumé
Partitioning and distributing of the data have been widely used in sharing nothing systems, more particularly in the distributed systems that used the MapReduce paradigm, such as Hadoop ecosystem and Spark. They have been used for many purposes, such as load balancing, skipping to load unnecessary data partitions and for guiding the physical design ofdistributed databases or data warehouses. To do analysis with data warehouses, usually, we used OLAP queries. An OLAP query is a complex query that contains several cost operations, such as the star join, the projection, filtering, and aggregate functions. In this thesis, we propose different static and dynamic approaches of partitioning and load balancing of the data, to improve the performances of distributed big data warehouses over Hadoop cluster. We have proposed different static and dynamic schemes of a big data warehouse over a cluster of homogeneous nodes, which can help the distributed system to enhance the executing time of OLAP query operations, such as star join operation, scanning tables, and Group-By operation.We have proposed four approaches: The first approach, is a new data placement strategy which able to help a query processing system to perform a star join operation in only one MapReduce cycle, without a shuffle phase; In the second contribution, we propose different partitioning and bucketing techniques to skip loading some HDFS blocks and to enhance the parallel treatment of the distributed system, based on a workload-driven model; In the third approach, we propose a novel physical design of distributed big data warehouse over Hadoop cluster, such as we combine between our first data-driven approach and the second workloaddriven solution; The fourth contribution has been developed to improve Group-by and aggregate functions, by using a dynamic method, which able to define on the fly the best partitioning scheme of the reducer inputs. To evaluate our approaches, we have conducted some experiments on different cluster sizes, using different data warehouses volumes where the fact table has more than 28 billions of records. We have used the TPC-DS benchmark, a Hadoop-YARN platform, a Spark engine, and Ray and Hive system. Our experiments show that our methods outperform the state-of-the-art approaches in many aspects, especially on the OLAP query execution time.
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.
Domaines
Base de données [cs.DB]
Fichier principal
these_internet_ramdane_y.pdf (52.12 Mo)
Télécharger le fichier
resumefr_internet_ramdane_y_annexe.pdf (179.81 Ko)
Télécharger le fichier
Origine | Version validée par le jury (STAR) |
---|
Format | Autre |
---|
Loading...