Big Data et ses technologies 2020.10 – Ines Ghorbel DSI31 ISET NABEUL Plan ● In

Big Data et ses technologies 2020.10 – Ines Ghorbel DSI31 ISET NABEUL Plan ● Introduction ● Big Data ○ Une définition ○ Pourquoi? ○ Applications ● Outils et technologies ○ Systèmes de fichiers distribués ○ Algorithmes distribués ○ Systèmes de base de données distribués ○ Systèmes d’orchestration ● Conclusion Introduction ● Ingénieur informatique - Université de Sherbrooke ● Plus de 15 ans d’expérience ○ architecture logiciel, réseaux, systèmes distribués ○ traitement automatique du langage naturel ○ génomique / bioinformatique ○ consultation ○ “big data” ● Ingénieur senior chez Hopper ○ Utilisons les données pour aider nos utilisateurs à prendre des décisions éclairées en matière de voyage. Big Data - Une définition Big Data - Définition “Le Big Data (ou mégadonnées) représente les collections de données caractérisées par un volume, une vélocité et une variété si grands que leur transformation en valeur utilisable requiert l’utilisation de technologies et de méthodes analytiques spécifiques." Big Data - Définition ● Volume - pas d'échantillonnage, on observe et mesure tout ● Vélocité - les données et les résultats sont souvent disponibles en temps réel ● Variété - puise dans les données textuelles, les photos, audio / vidéo et complète généralement les pièces manquantes en fusionnant plusieurs sources Big Data - Pourquoi? Big Data - Pourquoi? ● D’où vient ce concept du “big data”? ● Est-ce seulement le “petit” data qui est devenu “big”? ○ Simplement plus de data? ● Quelques pistes: ○ Explosion de la disponibilité des données ○ Augmentation de la capacité de stockage ○ Augmentation de la capacité d’analyse Big Data - Disponibilité des données “There was 5 exabytes of information created between the dawn of civilization through 2003, but that much information is now created every 2 days, and the pace is increasing.” -- Eric Schmidt, PDG Google, 2010 Données structurées vs non structurées Big Data - Capacité de stockage ● Entre 2000 et 2006, la capacité des disques a augmenté par 10x alors que le prix par Gb a chuté du même ratio. ● Une augmentation de 100x à prix constant. Big Data - Capacité d’analyse ● La loi de Moore en action pendant environ 35 ans ● Plus récemment, la capacité d’analyse augmente grâce à l’ajout de coeurs dans les unités centrales Big Data - Pourquoi? ● Augmentation exponentielle de la quantité de données non structurées ○ Email, chat, blog, web, musique, photo, vidéo, etc. ● Augmentation de la capacité de stockage et d’analyse ○ L’utilisation de plusieurs machines en parallèle devient accessible ● Les technologies existantes ne sont pas conçues pour ingérer ces données ○ Base de données relationnelles (tabulaires), mainframes, tableurs (Excel), etc. ● De “nouvelles” technologies et techniques d’analyse sont nécessaires ○ “Google File System” - Google 2003 ○ “MapReduce: Simplified Data Processing on Large Clusters” - Google, 2004 ○ Hadoop: circa 2006 ● D’où le“Big Data”: pas strictement plus de data... Big Data - Les applications Applications ● Recherche - PageRank (1996) ● Santé ● Éducation ○ MOOC ● Commerce de détail ○ Amazon, WallMart ● Génomique ○ High-throughput sequencing ● Science / recherche fondamentale ○ LHC ● Machine Learning / Deep Learning ● Recommendation ○ Netflix, Hopper! ● Urbanisme ● Gouvernements ● Média ○ journalisme de données ● Fraude (détection / prévention) ● IoT Les techniques et les technologies Technologies - systèmes de fichiers distribués ● La base du “Big Data”: le stockage ● Volume: une énorme quantité de stockage (à un coût raisonnable) ● Vélocité: agrandir la capacité de manière progressive ● Variété: un système de fichier “général”, qui permet de stocker n’importe quel genre de donnée Technologies - systèmes de fichiers distribués ● Systèmes traditionnels: SAN ● Coût initial (très) élevé ● Peut atteindre une très grande capacité, mais éventuellement limitée ○ Installer ou migrer un SAN est très coûteux (temps + $) ● Généralement sur du matériel et/ou OS propriétaire qui ne permet pas de lancer ses propres tâches ● Système “scale-up” plutôt que “scale-out” Scale up vs. Scale Out Technologies - systèmes de fichiers distribués - H● DDFuSb e s o i n est né “Google File System” qui a inspiré la création de Hadoop / HDFS ● Hadoop Distributed File System est composé de 2 services: ○ Namenode: service de méta-données ○ Datanode: service de bloc de données ● Un fichier inscrit dans HDFS sera divisé en blocs ○ généralement de 64MB chacun ● Les blocs sont répliqués (généralement 3x) et distribués sur plusieurs Datanode ● 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 Technologies - systèmes de fichiers distribués - H● DLFeSs fichiers sont divisés en blocs: la perte d’un seul de ces blocs causerait une corruption du fichier ● Les blocs sont répliqués afin de survivre à la perte d’un ou plusieurs blocs ● Le Namenode tente de placer les blocs afin d’éviter la perte de toutes les copies d’un même bloc d’un seul coup (défaillance d’un “rack” ou d’une “switch”) ○ “Rack-awareness” ● Les blocs peuvent être placés n’importe où, le client doit interroger le Namenode pour trouver un bloc ● Un Namenode “stand-by” peut être déployé ○ Nécessite d’autres services: Journalnode ○ Basculement automatique: Zookeeper et “zkfc” Technologies - systèmes de fichiers distribués - H● DAFvSa n t a g e s : ○ En production dans des milliers de compagnies (“battle-hardened”) ○ Documentation ○ Compatibilité - pratiquement tout l’écosystème “Big Data” parle HDFS ○ Disponibilité du support (les “vendeurs” Hadoop) ● Désavantages: ○ La configuration “HA” est complexe et fragile ○ Ne supporte que la réplication pour éviter la perte de données ○ Aucune capacité de fédération (grappes de HDFS) ○ La nécessité d’interroger le Namenode pour chaque lecture ○ Nombre de blocs limité par l’espace mémoire du Namenode (Scale-up du Namenode) ○ Relativement lent Technologies - systèmes de fichiers distribués - S3 ● Produit d’Amazon sur la plateforme AWS ● Paradigme de “object-store”: ○ bucket/key → données ○ aucune hiérarchie: on peut obtenir la liste des clés d’un “bucket” (relativement coûteux / lent) ● Option intéressante lorsque les données sont produites depuis AWS (EC2 ou EMR) ● Permet de rendre des données publiques très facilement ● Plusieurs options d’authentification et d'autorisation ● S3 est aussi un protocole: plusieurs autres implémentations existent Technologies - systèmes de fichiers distribués - S3 ● Avantages ○ Disponible dès le jour 0 ○ 99,9% de disponibilité: non disponible durant pas plus de 43 minutes par année ○ Simple d’utilisation (HTTP) ● Désavantages ○ Système propriétaire et opaque ○ Potentiellement coûteux à long terme ○ Moins intéressant lorsqu’on produit les données localement ○ Relativement lent ○ Certaines opérations sont contre-intuitivement très coûteuses (renommer un fichier est une copie) → nécessite une attention particulière Technologies - systèmes de fichiers distribués - C●E PS yHs t è m e de fichiers distribué conçu et développé par RedHat ● Conceptuellement semblable à HDFS ○ différences architecturales fondamentales ● mds: service de méta-données ● ods: service de données ● mon: service de surveillance des autres services ○ détecte les défaillances afin de déplacer les données Technologies - systèmes de fichiers distribués - C●E PU tHi l i s e un algorithme de hashing pour déterminer l’emplacement d’un bloc ● Permet à un client ceph de parler directement au service ods afin d’accéder aux données ● Aucun point de défaillance unique (SPOF) ● Supporte les 3 paradigmes d’accès: ○ object-store (S3) ○ block-store (/dev/sda1 ) ○ POSIX (système de fichier traditionnel) ● Possible d’utiliser avec Hadoop ● Supporte le “erasure-coding” ainsi que la réplication pour éviter la perte de données ○ Permet la même résilience que la réplication 3x, mais avec seulement 40% d’amplification des données ○ Performant ○ Architecture moderne: aucun point de défaillance unique ○ Énormes déploiements de production (p. ex.: CERN) ○ Polyvalent: permet de consolider plusieurs cas d’usage ● Désavantages ○ Configuration extrêmement complexe ○ Très peu de cas d’usage (public) Hadoop Technologies - systèmes de fichiers distribués - C●E PA vHa n t a g e s Techniques - algorithmes distribués Techniques - algorithmes distribués ● Historiquement dominés par des systèmes haute-performance ○ problèmes “cpu-bound ”, peu de données, calculs complexes ○ p. ex: MPI (message passing interface), les données sont envoyées aux agents, le calcul effectué et les résultats retournés au “coordonnateur” ● Afin de traiter de très grandes quantités de données, inverser la responsabilité: déplacer l’algorithme vers les données ○ “data-locality” ● Afin de maximiser le parallélisme: réduire la dépendance entre les “agents” ● Formalisation: map / reduce Techniques - algorithmes distribués - MapReduce ● Algorithme composé de 2 étapes conceptuelles ○ map - transformation des données en paires de clé-valeur ○ reduce - opération d'agrégation (somme, moyenne, etc.) par clé ● L’implémentation nécessite plus de 2 étapes, mais elles sont généralement transparentes pour le programmeur ● Sa résilience et son parallélisme sont ce qui le rendent particulièrement intéressant pour le Big-Data ○ “Embarassingly parallel” ○ Capacité de redémarrer uploads/Ingenierie_Lourd/ bigdata-technologies-avancees.pdf

  • 29
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager