thesis

Optimisation de performances dans les entrepôts de données distribués NoSQL en colonnes

Defense date:

Feb. 4, 2020

Edit

Institution:

Lyon

Disciplines:

Abstract EN:

The work presented in this thesis aims at proposing approaches to build data warehouses (DWs) by using the columnar NoSQL model. The use of NoSQL models is motivated by the advent of big data and the inability of the relational model, usually used to implement DW, to allow data scalability. Indeed, the NoSQL models are suitable for storing and managing massive data. They aredesigned to build databases whose storage model is the "key/value". Other models, then, appeared to account for the variability of the data: column oriented, document oriented and graph oriented. We have used the column NoSQL oriented model for building massive DWs because it is more suitable for decisional queries that are defined by a set of columns (measures and dimensions) from warehouse. Column family NoSQL databases offer storage techniques that are well adapted to DWs. Several scenarios are possible to develop DWs on these databases. We present in this thesis new solutions for logical and physical modeling of columnar NoSQL data warehouses. We have proposed a logic model called NLM (Naive Logical Model) to represent a NoSQL oriented columns DW and enable a better management by columnar NoSQL DBMS. We have proposed a new method to build a distributed DW using a column family NoSQL database. Our method is based on a strategy of grouping attributes from fact tables and dimensions, as families´ columns. In this purpose, we used two algorithms, the first one is a meta-heuristic algorithm, in this case the Particle Swarm Optimization : PSO, and the second one is the k-means algorithm. Furthermore, we have proposed a new method to build an efficient distributed DW inside column family NoSQL DBMSs. Our method based on the association rules method that allows to obtain groups of frequently used attributes in the workload. Hence, the partition keys RowKey, necessary to distribute data onto the different cluster nodes, are composed of those attributes groups.To validate our contributions, we have developed a software tool called RDW2CNoSQ (Relational Data Warehouse to Columnar NoSQL) to build a distributed data warehouse using a column family NoSQL Database. Also, we conducted several tests that have shown the effectiveness of different method that we proposed. Our experiments suggest that defining a good data partitioning and placement schemes during the implementation of the data warehouse with NoSQL HBase increase significantly the computation and querying performances.

Abstract FR:

Dans cette thèse, nous proposons des approches pour construire et développer des entrepôts de données (ED) selon le modèle NoSQL orienté colonnes. L’intérêt porté aux modèles NoSQL est motivé d’une part, par l’avènement des données massives et d’autre part, par le besoin de flexibilité et pour des raisons d'évolutivité et de performance. Ainsi, nous avons fait le choix du modèleNoSQL orienté colonnes car il est approprié aux traitements des requêtes décisionnelles qui sont définies en fonction d’un ensemble de colonnes (mesures et dimensions) issues de l’ED. En effet, la construction d’un cube OLAP nécessite l’accès aux attributs des tables des faits et des dimensions. Par conséquent, pour sélectionner une colonne (axe d’analyse), il faut charger toute la table de dimension concernée. Contrairement aux systèmes relationnels, dans les systèmes NoSQL en colonnes, il est possible d’accéder uniquement à la colonne souhaitée (ou un groupe des colonnes) puis de la charger directement en mémoire, ceci facilite l’application d’une fonction d’agrégation. Cependant, les systèmes NoSQL en colonnes ne disposent pas de schémas logiques ou des schémas physiques optimal afin d’exploiter directement (sans transformations ou sans restructuration) lesED. Les approches d'entreposage de données suivant les modèles NoSQL en colonnes exigent de revisiter les principes de la modélisation des ED et plus particulièrement au niveau de son schéma logique. L’étude des méthodes existantes relatives à l’utilisation du modèle NoSQL en colonnes pour stocker et gérer des ED, montre deux insuffisances majeures. Elles concernent les stratégies de partitionnement et de distribution aléatoire des données qui ne sont pas adaptées au traitement des données massives. La plupart des méthodes existantes fournissent des solutions partielles, ils se basent généralement sur un seul paramètre qui est le modèle conceptuel ou logique et sur certaines règles de passages des schémas relationnels aux schémas NoSQL en colonnes. Dans ce travail, nous abordons, d’un coté, les problèmes liés à la modélisation logique des ED NoSQL en colonnes ; dans ce cas, nous proposons un modèle logique de données non-relationnel adapté à l'implémentation des ED en NoSQL orienté colonnes. D’un autre côté, nous abordons les problèmes liés au partitionnement et à la distribution des ED dans les environnements distribués basés sur les systèmes NoSQL. Dans un premier temps, nous abordons le problème de la distribution des données dans les familles de colonnes. Dans ce cas, nous proposons notre deuxième approche de conception d'un schéma optimal de familles de colonnes qui constitue le schéma logique d’ED NoSQL en colonne. L’objectif est de proposer de nouveaux modèles logiques d’ED en intégrant les meilleures fonctionnalités du NoSQL en colonnes notamment le concept de famille de colonnes qui assure la fragmentation verticale naturelle des données. Nous étudions également la relation entre le concept de la clé de partition RowKey et le schéma de partition horizontale et de colocalisation des données dans le NoSQL en colonnes. L’objectif dans ce cas est d’optimiser les performances des traitements et l’exécution des requêtes décisionnelles en améliorant l’accès aux données. Ainsi, notre troisième contribution consiste en la mise en oeuvre d’une stratégie qui permet un partitionnement efficace de l’ED et un placement des données qui répond au mieux aux besoins des utilisateurs. Pour valider nos travaux, nous avons développé une plate-forme NoSQL en colonnes qui génère des schémas de familles de colonnes d’un ED NoSQL en colonnes selon les deux méthodes proposées (OEP ou K-means ) à partir d'une charge de requêtes sur un ED relationnel. Ainsi, cette plate-forme permet de générer une clé de partition RowKey définie en concaténant plusieurs attributs les plus fréquents pour définir un schéma de partitionnement horizontal et de localisation des données entreposées dans un système NoSQL en colonnes...