Fondements du Big Data - GI5 - 2024-2025

Document Details

BetterThanExpectedThallium3005

Uploaded by BetterThanExpectedThallium3005

2024

Pr. Bouzid

Tags

Big Data Big Data Technologies Data Analysis Data Management

Summary

This document provides an overview of the fundamentals of Big Data. It discusses definitions, a brief history, key characteristics (3Vs and 2 additional Vs), sources, and the significance of Big Data from various perspectives. The document also touches upon Big Data technologies. It might be useful for a course in data analysis or data management at the undergraduate level.

Full Transcript

Fondements du Big Data Pr. Bouzid Génie informatique – 5ème année Année universitaire 2024- 2025 1 SRI & Big Data Introduction Points abordés dans ce cours: Qu’est...

Fondements du Big Data Pr. Bouzid Génie informatique – 5ème année Année universitaire 2024- 2025 1 SRI & Big Data Introduction Points abordés dans ce cours: Qu’est ce que le Big Data? Pourquoi le Big Data? Dans quel intérêt? Quels sont les usages du Big Data et dans quels domaines? Quelles technologies sont adaptées au Big Data? 2 SRI & Big Data Introduction Le volume de données professionnelles double en moyenne tous les 1,2 ans On estime aussi que la quantité de données digitales (et web) produite double tous les 2 ans Ces données sont importantes, souvent non structurées, hétérogènes et leur quantité augmentent en continue L’environnement technologique en entreprise n’est pas forcément adapté à la capacité de stockage et de traitement de ces données => Ces données sont qualifiées de Big Data (données massives) => Comment sait-on qu’on est face à une problématique Big Data? 3 SRI & Big Data Big Data : Définitions Définition 1 : Oxford English Dictionary Données de très grande taille, dont la manipulation et gestion présentent des défis logistiques importants Définition 2 : McKinsey, 2011 Collections de données dont la taille dépasse la capacité de capture, stockage, gestion et analyse des systèmes de gestion de bases de données classiques Définition 3 : lebigData.fr Un ensemble très volumineux de données qu’aucun outil classique de gestion de base de données ou de gestion de l’information ne peut vraiment travailler 4 SRI & Big Data Big Data : Définitions Définition 4 : Wikipédia Désigne les ressources d’informations dont les caractéristiques en termes de volume, de vélocité et de variété imposent l’utilisation de technologies et de méthodes analytiques particulières pour créer de la valeur… et nécessitent des traitements parallélisés Eléments clés des définitions: Volume important / grande taille Vélocité, Variété Aucun système de gestion de BD classique n’est adapté Des technologies et méthodes analytiques particulières Traitement parallélisés 5 SRI & Big Data Petit historique L'expression « big data » serait apparue en octobre 1997 dans un article scientifique sur les défis technologiques à relever pour visualiser les « grands ensembles de données » (article disponible dans la bibliothèque numérique ACM spécialisée dans l’informatique) L’explosion quantitative des données numériques et notamment sur le web a obligé les chercheurs à trouver de nouvelles manières de manipuler ces données. Il s’agissait de trouver comment gérer le cycle de vie de ces données qui augmentent en masse : de la capture et stockage à l’analyse et la présentation → ainsi est né le « Big Data » Les géants du web ont travaillé de leur part sur une solution destinée à permettre à tout le monde d’accéder en temps réel à des bases de données géantes. C’est ainsi que Google a créé en 2004 le 6 modèle de traitement parallèle des données « MapReduce » SRI & Big Data Caractéristiques du Big Data Les données du Big Data sont caractérisées par 3V: Volumétrie : quantité énorme dans l’ordre du trillion (en pétaOctets, exaOctets et plus encore) 1018 = 1 trillion = 1 000 000 000 000 000 000 7 SRI & Big Data Caractéristiques du Big Data Variété : différents formats et types (structurés, semi-structurés, non structurés, textes, images, vidéos, sons, …) Vélocité: flux continue de données qui arrivent en masse (tous les jours, toutes les heures, toutes les minutes, …) → besoin de les traiter rapidement Auxquels s’ajoutent 2V : Véracité : qualité et fiabilité (exactitude) des données, ainsi que la confiance qu’elles inspirent aux décideurs (sources fiables, repérer les incohérences…) Valeur : utilité des données pour les clients et les entreprises 8 SRI & Big Data Caractéristiques du Big Data On parle ainsi des 5V : 9 Source : bigdatapath.wordpress.com SRI & Big Data Sources du Big Data Exemples de données « Big Data » : Données numériques spécifiques : machines industrielles, capteurs (d’avions, de voitures autonomes,…), appareils médicaux, appareils électroniques, transactions bancaires, … Données textuelles en ligne : publications de commentaires sur des sites, publications dans les réseaux sociaux, messages échangés dans les boites e-mails personnelles et professionnelles, la presse numérique, … Données multimédias (images, vidéos, sons, graphiques, …) : réseaux sociaux, sites web/blogs, outils de tchat, outils de streaming, caméras de surveillance, jeux en lignes,… Open data: données ouvertes au grand public (pour accès et usage) mises en ligne par des services publics, organisations gouvernementales,… (exemples: données sur les finances publiques d’un pays, données sur le tourisme, …) 10 SRI & Big Data Les réseaux sociaux en chiffres 11 SRI & Big Data Intérêt du Big Data Le Big Data sert dans beaucoup de domaines: Marketing : analyser les tendances du marché, cibler les consommateurs Économique : analyser l’économie du marché, prédire les tendances économiques, prédire les crises Politique : analyser et prédire les tendances électorales, la stabilité des régimes politiques,… Médicale / sanitaire : analyser les évolutions des maladies, suivre l’efficacité des traitements, faire des diagnostics précoces, prédire les épidémies et pandémies,… Télécoms : analyse de la qualité de service en temps réel Secteur bancaire : prévention des fraudes et gestion du risque Secteur des transports : optimisation des trafics et des taux de remplissage dans les transports publics 12 Environnement / écologie : prédire les catastrophes naturelles,… SRI & Big Data Intérêt du Big Data Les usages du Big Data : L’aide à la décision La prévision La détection des problèmes La gestion des risques La R&D, l’innovation, l’amélioration de produits, de processus,... La recherche scientifique (faire avancer la science) Les techniques scientifiques utilisées : L’ingénierie décisionnelle (Business Intelligence) L’intelligence artificielle La Data Science La RI La gestion des connaissances (knowledge management) 13 SRI & Big Data Intérêt du Big Data Exemples de cas d’usage réel du Big Data : Prédire les conflits mondiaux : L’outil GDELT, développé par l’université de Georgetown et accessible de manière open source, compile toutes les actualités (communiqués de presse, articles, discours,…) parues depuis 1979. Il applique ensuite des techniques d’analyse sémantique et des algorithmes d’apprentissage pour faciliter la compréhension des événements récents et des principes de cause à effet pour arriver à prédire les conflits mondiaux Veille sanitaire: La police de Chicago utilise le Big Data et la visualisation de données pour contrôler les populations de rats dans la ville Cibler les clients sur le web : Côté marketing du web, il existe ce qu’on appelle l’enchère en temps réel (Real-Time-Bidding – RTB), qui s’appuie sur de la data en mouvement pour proposer une publicité spécifique en fonction de l’utilisateur qui se connecte au site. L’entreprise Turn par exemple, classe l’utilisateur dans un segment lorsqu’il se connecte au site, en fonction de son historique de navigation et des informations issues des réseaux sociaux, et lui affiche la publicité de l’annonceur ayant fait la 14 meilleure enchère pour ce segment… en moins de 10 millisecondes SRI & Big Data Intérêt du Big Data 15 SRI & Big Data Problématique du Big Data Gros volume de données Arrivée en masse Arrivée rapide Plateforme de gestion des données Sur quelle plateforme gérer les données? Stockage des données Quelle architecture? Big Data Engineering Où et comment stocker les données? Comment Big Data Analyse de Analyser? Analytics 16 données (Hors sujet de ce cours) Le Big data engineering Solution majeure adoptée: Environnement de stockage et de gestion des données distribué (sur des clusters) et programmation parallèle 17 SRI & Big Data Le Big data engineering On distribue les données sur un nombre important de serveurs (formant des clusters) pour les stocker et gérer l’évolution de leur volume. Parmi les techniques utilisées: Sharding : partitionnement des données d’une BD sur plusieurs serveurs. C’est surtout le partitionnement horizontal qui est utilisé (séparer les lignes et stocker chaque sous-ensemble dans un serveur) Consistant hashing : technique de hachage dynamique utilisé pour garder la table de hachage indépendante du nombre de serveurs disponibles (afin de minimiser la relocalisation des clés lorsque le nombre de serveurs évolue) Pour traiter les données : on applique la programmation parallèle. Le modèle le plus connu est le « MapReduce »: permet de paralléliser des tâches à effectuer sur un ensemble de données 18 SRI & Big Data Sharding Le sharding permet de répartir les données sur plusieurs machines pour assurer la scalabilité de l’architecture. Mécanisme utilisé: partitionnement horizontal des données dans lequel les objets-données sont stockées sur des noeuds (serveurs) différents en fonction d’une clé (souvent une fonction de hachage) N.B: A noter que le partitionnement vertical (en colonnes) des données existe aussi 19 SRI & Big Data Consistant hashing Mécanisme de partitionnement (horizontal) dans lequel les objets (données) sont stockés sur des nœuds (serveurs) différents en utilisant la même fonction de hachage à la fois pour le hachage des objets et le hachage des nœuds La distribution se fait sous forme d’anneau virtuel : - Les nœuds et objets sont associés par une même fonction de hachage, et placés sous forme d’anneau Ex : A, B, C sont des nœuds et 1, 2, 3, 4 sont des objets - un objet est associé au premier nœud dans le sens horaire : Ex : les objets 4 et 1 sont associés objet au nœud A ; 2 à B ; 3 à C 20 noeud SRI & Big Data Consistant hashing - Quand un nœud quitte l’anneau, les objets qui lui sont liés sont alors associés à leur nœud adjacent dans le sens horaire : Ex : le nœud C quitte l’anneau, 3 est alors associé avec 4 et 1 au nœud A - Quand un noeud entre dans l’anneau, il est placé (haché) sur l’anneau et des objets lui seront associés selon sa place dans l’anneau Ex : le nœud D entre dans l’anneau, les objets 3 et 4 lui sont associés 21 SRI & Big Data MapReduce Modèle de programmation parallèle pour la manipulation et le traitement de gros volumes de données dans un environnement distribué Développé par Google en 2004 : Il répartit la charge sur un grand nombre de serveurs (clusters) Il gère entièrement le cluster, la distribution de données, la répartition de la charge et la tolérance aux pannes (abstraction quasi-totale de l’infrastructure matérielle) L’ajout de machines augmente les performances du modèle Le modèle est utilisé pour de nombreux usages destinés au traitement des données : comptage, calculs statistiques, indexation, classification, machine learning… La librairie MapReduce existe dans plusieurs langages (C++, C#, Erlang, Java, Python, Ruby…) 22 SRI & Big Data MapReduce Le modèle implémente deux fonctions Map et reduce (et donc deux grandes étapes) : Map : traite une paire clé/valeur et génère un ensemble de paires de clés intermédiaires/valeurs Reduce : fusionne toutes les valeurs intermédiaires associées (agrégation des valeurs) avec la même clé intermédiaire L’algorithme MapReduce a cinq phases : 1. La phase Initialisation (découpage des données en blocs) 2. La phase Map (génération de paires clés/valeurs) 3. La phase Shuffle (regroupement/tri) 4. La phase Reduce (fusion clés/valeurs agrégés) 5. La phase finale (regroupement des résultats) 23 SRI & Big Data MapReduce Schéma général du fonctionnement MapReduce : K, V List(K1, V1) K1, V2 24 Map : prend en entrée un ensemble de « key, Values » et retourne une liste intermédiaire de « Key1, Value1 » Reduce : prend en entrée une liste intermédiaire de SRI & Big Data « Key1, Value1 » et fournit en sortie une ensemble de « Key1, Value2 » MapReduce Exemple : compter le nombre de mots K1, V2 List(K1, V1) 25 SRI & Big Data MapReduce Un cluster MapReduce utilise une architecture de type Maître- esclave où un nœud maître dirige tous les nœuds esclaves Le système découpe les données en entrée en blocs de données de même taille. Puis, il planifie l’exécution des tâches sur les nœuds disponibles 26 SRI & Big Data MapReduce Dans le traitement parallèle des tâches Map, un bloc à la fois est traité sur chaque noeud Une fois qu'un nœud a terminé une tâche, on lui affecte un nouveau bloc de données (permet plus d’efficience quand les nœuds n’ont pas les mêmes capacités de traitement) En cas d’erreur la tâche peut être affectée à un autre nœud Remarque: La parallélisation ne signifie pas que les nœuds traitent le même nombre de blocs en totalité 27 SRI & Big Data MapReduce Exemple d’utilisation du MapReduce pour l’indexation: 28 Ici l’auteur de l’exemple considère que « cat » et « cats » ainsi que « like » et « likes » ne sont pas les mêmes mots (normalisation légère) SRI & Big Data MapReduce Critiques: Modèle adapté aux données structurées et non structurées La vitesse d'exécution est optimisée grâce à l’environnement parallèle et distribué (plus on a de nœuds, plus l’exécution est efficiente) La volumétrie des données n'impacte pas les transformations appliquées à la fin du processus mapReduce MapReduce utilise un système de planification pour affecter les blocs de données aux nœuds disponibles dans le cluster. Ce système provoque des coûts d'exécution et peut ralentir l'exécution de l’algorithme du MapReduce. 29 SRI & Big Data Implémentation - Plateformes Hadoop: est une plateforme libre (open source) créée en 2011, écrite en Java et distribuée sous licence Apache, composée d’un système de gestion de données distribué (adapté au Big Data). Hadoop est principalement composé de: YARN/MapReduce: framework de traitement distribué basé sur le modèle MapReduce de Google HDFS (Hadoop Distributed File System) : système de fichiers pour un stockage distribué 30 SRI & Big Data Hadoop Caractéristiques des fichiers HDFS : Il s’agit d’un système de fichiers conçu pour stocker des fichiers très volumineux dans un cluster d'ordinateurs (nœuds) Un fichier HDFS est composé de deux services: Namenode: service de méta-données Datanode: service de bloc de données Chaque fichier est décomposé en plusieurs blocs qui sont répliqués sur les nœuds Les clients du système de fichiers interrogent le Namenode pour: connaître la structure de l’arbre de fichiers découvrir où se trouvent les blocs d’un fichier Les clients accèdent aux données directement auprès des Datanode 31 SRI & Big Data Hadoop La taille des blocs par défaut est 128Mo sur Hadoop V2 HDFS réplique les blocs de données pour éviter leur perte en cas de panne de certains nœuds. Les blocs sont répliqués généralement 3 fois et distribués sur des nœuds différents 32 SRI & Big Data Hadoop MapReduce dans le système Hadoop : 33 SRI & Big Data Ecosystème Hadoop Avec les besoins évolutifs du Big Data, plusieurs outils ont vu le jour pour la gestion de l’accès au données, gestion des scripts, planification et monitoring des tâches… On parle de l’Ecosystème Hadoop. Pig 34 SRI & Big Data Ecosystème Hadoop Parmi les outils : Pig: Plateforme haut niveau pour le traitement de données, basée sur un langage de script Pig Latin Hive: Environnement de haut niveau pour le traitement de données, basé sur un langage proche de SQL (Hive QL) Hbase: Base de données NoSQL orientée colonnes Sqoop: Lecture et écriture des données à partir de BD externes Flume: Collecte de logs et stockage dans HDFS Ambari: Outil pour la gestion et monitoring des clusters Zookeeper: Fournit un service centralisé pour maintenir les informations de configuration, de nommage et de synchronisation distribuées Mahout: Bibliothèque de machine learning et mathématiques Oozie: Permet d’ordonnancer les jobs Map Reduce (Java, Python, Pig, Hive, …), en définissant des workflows 35 SRI & Big Data Hadoop vs Spark Spark : Framework open source disponible sous licence apache pour le traitement de gros volume de données sur un environnement distribué. Il est essentiellement dédié au Big Data et Machine Learning et il considéré ultrarapide par rapport à Hadoop : Il peut travailler sur la totalité des données en même temps (contrairement au Yarn/MapReduce d’Hadoop qui travail par étape) Il exécute la totalité des opérations d'analyse de données en mémoire et en temps réel. Il s'appuie sur des disques seulement lorsque sa mémoire n'est plus suffisante (sur Hadoop les données sont écrites sur le disque des nœuds entre le map et le reduce) Spark ne dispose pas de système de gestion de fichiers qui lui est propre mais il est compatible avec le système de stockage HDFS d’Hadoop (et aussi avec d’autres outils de son écosystème) Aujourd’hui SPARK est considéré cent fois plus rapide que Hadoop pour le traitement de données. Il utilise également moins de ressources que Hadoop et propose un modèle de programmation plus simple 36 SRI & Big Data Spark Les outils de Spark: Spark SQL permet d’exécuter des requêtes en langages SQL Spark streaming offre à son utilisateur un traitement des données en flux. Il utilise les données en temps-réel Spark graphX traite des informations issues de graphes Spark MLlib est une bibliothèque d’apprentissage automatique contenant tous les algorithmes et utilitaires d’apprentissage classiques tels que la classification, la régression, le clustering, le filtrage collaboratif et la réduction de dimension. 37 SRI & Big Data Stockage des Données Les Bases de données traditionnelles ont montré leurs limites avec les 3Vs du Big Data : Volume: capacité de stockage jusqu’au teraoctet (exaoctet pour Oracle) un seul serveur ne peut pas contenir toutes les données Vélocité: la bande passante d’un seul serveur ne peut pas soutenir le nombre de requêtes, ni le temps de stockage (arrivée de flux massifs en continue) Variété: les données qualifiées Big data ne sont pas toutes tabulaires (relationnelles) Solutions de stockage pour le big data: Bases NoSQL (Not Only SQL) Cloud computing (en complément) : pour le stockage et la manipulation des données à distance 38 SRI & Big Data Le NoSQL Face aux limites des Bases de données relationnelles dans le stockage et la gestion des données Big Data, de nouvelles solutions ont vu le jour : regroupées derrière le terme NoSQL (proposé par Carl Strozzi), ne se substituant pas aux SGBD Relationnels mais les complétant en comblant leurs faiblesses (d’où le terme « Not Only SQL ») permettant une meilleure scalabilité (passage à l’échelle) dans des contextes fortement distribués permettant une gestion d’objets complexes et hétérogènes sans avoir à déclarer au préalable l’ensemble des champs représentant un objet 39 SRI & Big Data Le NoSQL Type de BD NoSQL: 40 SRI & Big Data Le NoSQL Key-Value (Clé-Valeur): permet de stocker des couples [clé, valeur]. La clé est utilisée comme seule manière pour requêter dans la base. La valeur peut être une simple chaîne de caractère ou un objet plus complexe. Exemples: DynamoDB, Voldemort, Redis, Riak, MemcacheDB, Amazon SimpleDB 41 SRI & Big Data Le NoSQL Column (Colonnes): permet de disposer d'un très grand nombre de valeurs sur une même ligne, de stocker des relations « one-to- many» (1-n) avec une clé Exemples: HBase, Cassandra, Hypertable, Google Big Table, Apache Parquet 42 SRI & Big Data Le NoSQL Document: repose également sur le paradigme [clé, valeur], et la valeur, dans ce cas, est un document. Ce document a une structure arborescente : il contient une liste de champs, un champs est associée à une valeur qui peut elle même être une liste. Ces documents sont principalement de type JSON ou XML. Exemples: MongoDB, CouchDB, Terrastore 43 SRI & Big Data Le NoSQL Graphe: Ces bases stockent les données en se basant sur la théorie des graphes. Elles s’appuient sur la notion de nœuds, de relations et de propriétés qui leur sont rattachées. Exemples: Neo4j, OrientDB, FlockDB 44 SRI & Big Data Critique du NoSQL Solutions efficaces pour le stockage palliant les problèmes de volume et de variété des données big data Scalabilité: Elles ont une scalabilité verticale et horizontale Complexité des traitements : pas de langage puissant de requêtage et d’exploitation comme SQL, mais des langages propriétaires Relâchement de la Cohérence : on gagne en volume et en variété mais en perd en consistance des données (la disponibilité et le partitionnement sont privilégiés à la cohérence) Technologie encore peu familière dans le monde professionnel (problème de passage du relationnel au NoSQL) Beaucoup de solution open-source, mais encore peu de support client 45 SRI & Big Data Références Introduction aux mégadonnées (Big Data), Bernard Espinasse, Université d’Aix-Marseille, septembre 2021 Introduction Big Data, Licence Informatique, Technologie du web, Laure Soulier, UPMC Sorbonne Université, 2016-2017 Cours Big Data et Deep Learning, Master1 SAD, Saadna Yassmina, Université Batna 2, 2019-2020 Big Data et ses Technologies, Philippe Laflamme, ETS 2017.07 Fondements du Big Data, N. El Faddouli, EMI Université Mohammed V- Rabat, 2022-2023 Initiation aux Big Data, Mastère DESIGEO, Cedric du Mouza et Nicolas Travers, CNAM 46 SRI & Big Data Références https://www.lebigdata.fr/definition-big-datafggh https://fr.wikipedia.org/wiki/Big_data https://www.investopedia.com/terms/b/big-data.asp https://datascientest.com/sharding-definition https://ably.com/blog/implementing-efficient-consistent- hashing https://medium.com/pujanggateknologi/implementasi- sederhana-framework-mapreduce-8f80f22cc54f https://fr.wikipedia.org/wiki/MapReduce https://www.oreilly.com/library/view/apache-hive- essentials/9781788995092/e846ea02-6894-45c9-983a- 03875076bb5b.xhtml 47 SRI & Big Data Références https://fr.wikipedia.org/wiki/Apache_Spark https://datascientest.com/apache-spark https://www.illustradata.com/nosql-quest-cest-ca-marche-a- quoi-ca-sert/ 48 SRI & Big Data

Use Quizgecko on...
Browser
Browser