Big data: NoSQL comme solution

Preview:

Citation preview

Big Data: NoSQL comme solution

Jemli Fathi3éme année ingénierie génie logiciel à ISSATSojemlifathi2013@gmail.com

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)

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é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

Recommended