# Définition de Big Data On parle de Big Data quand on parle de données qui ont besoin de plusieurs machines pour être stockées - **Volume** : quantité de données - **Velocité** : Vitesse de génération, transmission et traitement des données - **Variété** : Données sous différents formats (texte, image, vidéo...) - Structurées : BDD SQL - Semi-Structurées : JSON, XML - Non-Structurées : Images, vidéos, audio, texte... - **Véracité** : qualité, fiabilité, bruit - **Valeur** : Capacité à extraire de la valeur exploitable des données # Apache Hadoop - Composants principalement en Java - V1 en 2006 - Inspiré de Google MapReduce - Insipiré par Google FileSystem (GFS) Permet : - Scalabilité - Tolérance aux pannes - Haute disponibilité - Cache distribué et localité des données - Rentabilité (pas besoin de matériel haut de gamme) - Fournit une abstraction efficace du matériel sous-jacent - Interfaçage SQL (ex: Cassandra) # Propriétés d'un SGBD - Consistence : Données récupérées correctes - Disponibilité : Données récupérables tout le temps - Tolérance aux pannes Théorème de ?? : Un SGBD peut satisfaire au plus 2 des 3 propriétés # HDFS - Système de fichiers distribué - Organisation en arbre - L'utilisateur voit une système de fichiers Unix - Blocs de taille fixe (64Mo ou 128Mo) - Les blocs d'un fichier sont stockés et répliqués sur plusieurs machines - Réplication permet d'accéder simultanément au fichier par plusieurs personnes et de se prémunir contre les pannes Architecture master-slave : - Maître = name node contient et stocke tous les nom et blocs des fichiers ainsi que leur localisation => annuaire - Secondary name node => name node de secours, fait des sauvegardes régulières - data nodes = noeuds de stockage # MapReduce Inspiré de diviser pour régner 2 opérations : - Map (même op sur toutes les machines) - Reduce (remontée des résultats pour combinaison) Paradigme à part entière