Big Data: NoSQL comme solution
Jemli Fathi
3éme année ingénierie génie logiciel à ISSATSo
jemlifathi2013@gmail.com
Je me présente
Plan
Définition
Historique
NoSQL: c'est quoi?
Pourquoi le NoSQL?
Les types des moteurs NoSQL
Perspective pour l'avenir du Big Data
Définition du Big Data
90% 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)
Google
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ématique
Les 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ée
Map Reduce: 2003
Map:
Distribuer le travail sur plusieurs machines
Reduce:
Récupérer le résultat de chaque machine
et le regrouper
Les limites de la solution adoptée
A 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 Table
Une 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...).
Amazon
Données traitées:
Les produits
Les utilisateurs
Les paniers
Besoin:
Stockage et gestion de données très volumineuses.
Historique
Solution: approche décentralisée
Dynamo 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ées
Les 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 NoSQL
Les moteurs à clé/valeur
Les données sont représentés par des couples clé-valeur
La 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 NoSQL
Les moteurs orienté document
Ce 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 NoSQL
Les moteurs orienté colonne
Ce 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 NoSQL
Les moteurs orienté graphe
Ce 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 Data
Apparition 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

Big data: NoSQL comme solution

  • 1.
    Big Data: NoSQLcomme solution
  • 2.
    Jemli Fathi 3éme annéeingénierie génie logiciel à ISSATSo jemlifathi2013@gmail.com Je me présente
  • 3.
    Plan Définition Historique NoSQL: c'est quoi? Pourquoile NoSQL? Les types des moteurs NoSQL Perspective pour l'avenir du Big Data
  • 4.
    Définition du BigData 90% 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.
  • 5.
    Les Big Datasont 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.
  • 6.
    Les centres dedonné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).
  • 9.
  • 10.
  • 11.
  • 12.
    Le plus grandcentre de données dans le monde (en 2012)
  • 13.
    Google Données traitées: Des pagesWeb. 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
  • 14.
    La problématique Les donnéesstocké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.
  • 15.
    Solution: approche centralisée MapReduce: 2003 Map: Distribuer le travail sur plusieurs machines Reduce: Récupérer le résultat de chaque machine et le regrouper
  • 16.
    Les limites dela solution adoptée A l'époque, ni les systèmes de fichiers, ni les bases de données permettent l'implémentation d'un tel patron d'architecture.
  • 17.
    Google File System(GFS) Ungigantesque système de fichiers pouvant contenir plusieurs machines.
  • 18.
    Big Table Une basede données pour stocker les fichiers structurés et qui est adaptée à GFS.
  • 19.
    L'architecture innovante adoptée parGoogle a inspiré beaucoup de personnes et a été suivie par plusieurs solutions, par exemple(Hadoop, Accumulo, Cassandra...).
  • 20.
    Amazon Données traitées: Les produits Lesutilisateurs Les paniers Besoin: Stockage et gestion de données très volumineuses. Historique
  • 21.
    Solution: approche décentralisée DynamoDB: Un système de base de données distribué. Conçu pour gérer des entrepôts de paires clé-valeur.
  • 22.
    NoSQL: c'est quoi? NoSQL(NotOnly 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.
  • 23.
    Les systèmes NoSQLsont 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é
  • 24.
    Pourquoi le NoSQL? Desopé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!
  • 25.
    Des solutions pourgérer les données Les 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.
  • 26.
    Des solutions pourfaciliter 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.
  • 27.
  • 28.
    Les types desmoteurs NoSQL Les moteurs à clé/valeur Les données sont représentés par des couples clé-valeur La 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).
  • 29.
    Les types desmoteurs NoSQL Les moteurs orienté document Ce 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).
  • 30.
    Les types desmoteurs NoSQL Les moteurs orienté colonne Ce 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).
  • 31.
    Les types desmoteurs NoSQL Les moteurs orienté graphe Ce 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.
  • 32.
    Perspective pour l'avenirdu Big Data Apparition 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.
  • 33.