Big Data: NoSQL comme solution
Jemli Fathi3éme année ingénierie génie logiciel à [email protected]
Je me présente
PlanDéfinition HistoriqueNoSQL: c'est quoi? Pourquoi le NoSQL?Les types des moteurs NoSQLPerspective pour l'avenir du Big Data
Définition du Big Data90% des données
d'aujourd'hui ont été crée dans les 2 dernières années.
Loi de Moore: le volume des données double tous les 18 mois.
YouTube: 13 millions d'heures et 700 milliards de vues en 2010.
Facebook: 20 To / jour (compressé).
CERN / LHC: 40 TB / jour (15PB / an).
Wikipédia:
Les big data, littéralement les "grosses données", ou méga-données, désignent des ensembles de données qui deviennent tellement volumineuses qu'ils en deviennent difficiles à travailler avec des outils classiques de gestion de base de données ou de gestion de l'information.
Les Big Data sont caractérisées par:Le volume: de l'ordre de Péta-Octets.La variété: ils viennent de sources hétéroclites.La vélocité: ils exigent un temps record pour les explorer et les
analyser.
Les centres de données (Data center)Un data center est un emplacement physique ou ils sont regroupés
des équipements informatiques (des serveurs, des "mainframes"...).Il permet pour l'entreprise de stocker des données, les traiter et les
protéger.Cet espace doit être protégé contre les incendies, équipé d'un
système d'alimentation d'urgence, et surveillé par des spécialistes pour éviter les intrusions et agir rapidement en cas de panne.
Les centres de données sont très gourmands en énergie (2% de la consommation mondiale).
Mobiles
Dans la mer
Sur des navires
Le plus grand centre de données dans le monde (en 2012)
Données traitées:Des pages Web.Les données stockées sur les différents services
offerts par Google(Drive, Calendar, Gmail...).Besoin:
Gérer un volume de données de l'ordre de Péta-octets.Indexer et chercher des mots spécifiques dans
des milliards de pages Web.Générer du contenu Web dans un temps très réduit.
Historique
La problématiqueLes données stockées et les traitements demandés ne peuvent pas être satisfaits sur une seule machine quelque soit sa puissance, même en utilisant un réseau de machines, les communications entre les machines rendent les traitements très lents.
Solution: approche centraliséeMap Reduce: 2003
Map: Distribuer le travail sur
plusieurs machinesReduce:
Récupérer le résultat de chaque machine et le regrouper
Les limites de la solution adoptéeA l'époque, ni les systèmes de fichiers, ni les bases de données permettent l'implémentation d'un tel patron d'architecture.
Google File System(GFS)Un gigantesque système de fichiers pouvant contenir plusieurs machines.
Big TableUne base de données pour stocker les fichiers structurés et qui est adaptée à GFS.
L'architecture innovante adoptée par Google a inspiré beaucoup de personnes et a été suivie par plusieurs solutions, par exemple(Hadoop, Accumulo, Cassandra...).
AmazonDonnées traitées:
Les produitsLes utilisateursLes paniers
Besoin:Stockage et gestion de données très volumineuses.
Historique
Solution: approche décentraliséeDynamo DB:
Un système de base de données distribué. Conçu pour gérer des entrepôts de paires clé-valeur.
NoSQL: c'est quoi?NoSQL(Not Only SQL) ≠ SGBDR.
L'unité logique n'y est plus la table.
Les données ne sont en général pas manipulées avec SQL.
Les systèmes NoSQL sont conçues pour répondre aux contraintes suivantes:
Cohérence : tous les nœuds du système voient exactement les mêmes données au même moment.
Haute disponibilité (Availability) : en cas de panne, les données restent accessibles.
Tolérance au Partitionnement : le système peut être partitionné
Pourquoi le NoSQL?Des opérateurs, des sites et des entreprises qui ont un besoin excessif pour stocker et gérer des données massives => il faut trouver de nouvelles solutions!
Des solutions pour gérer les donnéesLes contraintes des moteurs relationnels les rendent très lourdes.L'évolution du matériel(serveurs...).La charge associée à l'usage du Web ou du Mobile qui est impossible
à prévoir.
Des solutions pour faciliter la tache des développeurs
Le "Web Scale": pouvoir mettre à l'échelle des applications.Eviter les jointures pour pouvoir distribuer les données.Eviter le langage SQL qui est un langage déclaratif difficile à
maîtriser.Esprit "Open Source": solutions NoSQL gratuits en les comparant
avec les SGBD relationnels très coûteux.Les solutions NoSQL sont bâtis pour être distribués.Utilisation de la mémoire vive pour stocker les données =>
rapidité d’accès.
+=
Les types des moteurs NoSQLLes moteurs à clé/valeurLes données sont représentés par des couples clé-valeurLa valeur peut être une simple chaîne de caractères, un objet
sérialisé…La communication avec la BD se résume aux opérateursGET, PUT, DELETE...Les solutions les plus connues sont Redis(Salvatore Sanfilippo et Pieter Noordhuis), Riak(Apache) et Voldemort(LinkedIn).
Les types des moteurs NoSQLLes moteurs orienté documentCe modèle est basé sur le paradigme clé-valeur, sauf que la valeur ici
est un fichier JSON ou XML.Les implémentations les plus populaires sont CouchDB (Apache),
RavenDB (destiné aux plateformes .NET/Windows) et MongoDB(10Gen).
Les types des moteurs NoSQLLes moteurs orienté colonneCe modèle ressemble à une table dans un SGBDR, mais un nombre de
colonnes dynamique.=>Le nombre de colonnes varie d'un enregistrement à un autre, ce qui
évite les valeurs nulles.Comme solutions, on retrouve principalement HBase (solution inspirée
par Google BigTable) ainsi que Cassandra (solution inspirée par Dynamo d’Amazon et BigTable de Google).
Les types des moteurs NoSQLLes moteurs orienté grapheCe modèle est basé sur la théorie des graphes.Il s'appuie sur les notions de nœuds, de relations et de propriétés.Il facilite la modélisation du monde réel.La principale solution est Neo4J.
Perspective pour l'avenir du Big DataApparition de plusieurs métiers et disciplines en relation directe avec
les Big Data, par exemple "Data Analyst", "Data Scientist"... Les Etats-Unis, en 2017, auront besoin de 500 000 Data Scientist
supplémentaires. Le marché du Big Data: 125 milliards de dollars en 2015.Dans les 3 prochaines années, toutes les entreprises auront intégré
des solutions data en Cloud.
Merci pour votre attention
Top Related