Thèse soutenue

Exploration des bases de données orientées graphe : Énumération des triangles dans les graphes à grande échelle

FR  |  
EN
Auteur / Autrice : Abir Farouzi
Direction : Ladjel BellatrecheMimoun Malki
Type : Thèse de doctorat
Discipline(s) : Informatique et applications
Date : Soutenance le 02/12/2023
Etablissement(s) : Chasseneuil-du-Poitou, Ecole nationale supérieure de mécanique et d'aérotechnique en cotutelle avec Ecole Nationale Supérieure d'Informatique (ESI) - Alger
Ecole(s) doctorale(s) : École doctorale Sciences et Ingénierie des Systèmes, Mathématiques, Informatique (Limoges ; 2018-2022)
Partenaire(s) de recherche : Laboratoire : Laboratoire d'Informatique et d'Automatique pour les Systèmes / LIAS
Jury : Président / Présidente : Azeddine Chikh
Examinateurs / Examinatrices : Djamal Benslimane, Mohand Tahar Kechadi, Zohra Slama

Résumé

FR  |  
EN

Cette thèse s’inscrit dans le domaine de l’analyse des graphes à grande échelle, avec une attention particulière portée sur l’énumération des triangles. La recherche de triangles est un problème fondamental qui permet de détecter toutes les structures composées de trois sommets adjacents, tous interconnectés par des arêtes. Ces triangles jouent un rôle crucial dans de nombreuses applications liées aux graphes, telles que : la détermination du coefficient de clustering, l’évaluation de l’âge d’une communauté dans un réseau social, et la détection de cliques. Pour aborder cette étude, nous avons effectué une revue approfondie de la littérature sur la détection de triangles dans les graphes. Nous avons identifié deux catégories principales d’approches : (a) celles qui supposent que le graphe peut être entièrement stocké en mémoire centrale, et (b) celles qui considèrent que le graphe ne peut pas être stocké entièrement en mémoire centrale. En analysant ces travaux, nous avons constaté que les premières approches (qui reposent sur une gestion en mémoire centrale) sont efficaces lorsque le graphe peut être complètement chargé en mémoire, mais cela ne s’applique pas toujours aux graphes à grande échelle qui ne tiennent pas entièrement en mémoire centrale. Par conséquent, il est essentiel de développer des algorithmes efficaces pour ces types de graphes, ce qui constitue un défi majeur pour la communauté scientifique. Dans le cadre de cette thèse, nous avons proposé un algorithme randomisé (également connu sous le nom de l'algorithme adapté) pour l’énumération de triangles dans des graphes à grande échelle en utilisant la technologie des Systèmes de Gestion de Bases de Données (\ac{SGBD}) relationnel distribué. Nous avons choisi Vertica\footnote{https://www.vertica.com/fr/}, un SGBD qui repose sur un modèle de stockage orienté colonne, contrairement aux SGBD traditionnels qui utilisent le modèle orienté ligne. Notre solution a également exploité le modèle de calcul distribué k-machines.Dans cette approche, le graphe est représenté sous forme de tables et exploité à travers des requêtes \ac{SQL} exécutées sur l’ensemble de machines, tout en veillant à équilibrer la charge de travail entre ces nœuds. Pour évaluer cet équilibrage de charge, nous avons développé un outil appelé \textbf{PandaSQL}, qui permet d’analyser la structure du graphe et de comparer notre solution aux algorithmes existants dédiés à l’énumération de triangles. En outre, nous avons apporté une autre contribution en étudiant le comportement de notre algorithme randomisé dans un environnement distribué en utilisant Python, tout en gérant la communication des données entre les machines via l’interface de passage de messages (\ac{MPI}). Une analyse théorique de notre algorithme, mise en œuvre dans les deux environnements susmentionnés, a également été réalisée.Enfin, nous avons mené une série d’expériences en utilisant des graphes à grande échelle présentant différentes structures, tout en variant le nombre de machines du modèle k-machines (4, 9 et 16 machines). Ces expériences concernent les performances de l'algorithme randomisé et sa comparaison avec des systèmes concurrents sur différents environnements. Particulièrement, la solution classique sur le \ac{SGBD}, Networkx sur Python, Spark Graphx et G-thinker sur un environnement Big Data. Les résultats obtenus au cours de cette thèse mettent en évidence l’intérêt de combiner la technologie des \ac{SGBD} et des algorithmes parallèles pour l’énumération efficace de triangles dans des graphes à grande échelle.