100% ont trouvé ce document utile (1 vote)
377 vues88 pages

Big Data

Transféré par

bekri
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
100% ont trouvé ce document utile (1 vote)
377 vues88 pages

Big Data

Transféré par

bekri
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

INTRODUCTION

SPRINT BIG DATA


Mme Ines Slimene
ines.slimen@esprit.tn

2015-2016
Plan

■ Introduction Big Data


– Caractéristiques big data
– Application Big data
■ Écosystème Hadoop
– HDFS & Mapreduce
– Langages de requête Hadoop
■ Base de données NoSQL

16/03/2016 Introduction au big data 2


Introduction

■ Vieux paradigme
– Déploiement de technologie pour améliorer la
productivité
– Des données sont créées
■ Nouveau paradigme
– Les données sont les matières premières du monde des
affaires
– Les valeurs des données et l’analyse de celle-ci ne sont
plus remise en question.

16/03/2016 Introduction au big data 3


Introduction

Les données sont de plus en plus précieuses.


■ Les entreprises cherchent à libérer toute la valeur potentielle de
leurs données afin d’en tirer des avantages concurrentiels.
■ Le volume des données d’entreprise va s’accroître de 800% entre
2011 et 2015, avec 80% de données non structurées (e-mails,
documents, vidéos, images, contenus des plateformes de réseaux
sociaux, etc.) et 20 % de données structurées (transactions par
carte de crédit, coordonnées, etc.).
« que pouvons-nous faire avec ces données ? »
■ Les entreprises doivent trouver de nouvelles approches pour traiter,
gérer et analyser leurs données, qu’il s’agisse de formats structurés,
ou de formats plus variés et non structurés.

16/03/2016 Introduction au big data 4


L’ère du zétabits
■ Plus de données créées dans les ■ en 2011:
dernières 3 années que dans les 100 – Facebook ~6 billion de messages
années qui les ont précédé par jour
■ Le total des données existantes ont – EBay ~2 billion de pages consultees
quadruplé dans les trois dernières par jour, ~9 Petabytes de stockage
années – Images satellitaires par Skybox
Imaging ~1 Terabyte par jour.
■ 90% des données dans le monde ont
été créées au cours des deux
dernières années.
■ Source: Decimal

– Capteurs utilisés pour collecter les Value Metric


informations climatiques 1000 kbit kilobit
– Messages sur les médias sociaux 1000
2
Mbit megabi
t
– Images numériques et vidéos
publiées en ligne 1000
3
Gbit gigabit
– Enregistrements transactionnels 1000
4
Tbit terabit
d’achat en ligne 5
1000 Pbit petabit
– Signaux GPS de téléphones mobiles 6
1000 Ebit exabit
– … 7
1000 Zbit zettabit
8
1000 Ybit yottabit

16/03/2016 Introduction au big data 5


L’ère du zétabits

16/03/2016 Introduction au big data 6


Définition

■ Le Big Data est devenu un centre d’intérêt majeur pour le monde


IT.
■ En général, ce terme renvoie à des types de données
relativement nouveaux (vidéo, images, son, etc.) qui génèrent
des fichiers volumineux.
■ Il désigne aussi de grands ensembles de petits volumes de
données (commentaires sur les sites Web des réseaux sociaux,
photos du fonds marin, images des caméras de surveillance du
trafic) qui prennent leur sens lorsqu’ils sont combinés.
■ Le plus souvent, ces Big Data connaissent une croissance rapide
et certains ensembles de données modestes seront amenés à
se développer pour devenir des Big Data.

16/03/2016 Introduction au big data 7


Caractéristiques
■ Volume : fait référence à la quantité de données générées, proche de
2 zettaoctets en 2011, selon IDC3 et allant passer à un volume estimé
à 35 zettaoctets d’ici 2020
■ Variété : indique que les analystes traitent désormais le texte, les
images et d’autres données non structurées ou semi-structurées,
outre les données figurant dans des bases de données structurées ou
dans d’autres systèmes de fichiers numériques.
■ Vitesse : reflète le fait qu’avec des milliards de capteurs collectant en
permanence des données sur tous les domaines, de la météo à
l’utilisation du réseau électrique, aux transactions financières en
passant par les achats individuels et les habitudes de conduite, le flux
de données ne s’arrête jamais et grâce aux capacités réseau
améliorées d’aujourd’hui, elles arrivent plus vite que jamais.
■ Véracité : correspond au fait qu’une grande partie de ces données
peut être incomplète ou sembler contradictoire, ce qui nécessite de
nouvelles techniques offrant des éclairages fiables en dépit de ce
manque de précision.

16/03/2016 Introduction au big data 8


Application du big data

■ Détecter les sentiments et réactions des clients


■ Détecter les conditions critiques ou potentiellement mortelles
dans les hôpitaux , et à temps pour intervenir
■ Prédire des modèles météorologiques pour planifier l’usage
optimal des éoliennes
■ Identifier les criminels et les menaces à partir de vidéos, sons
et flux de données
■ Étudier les réactions des étudiants pendant un cours, prédire
ceux qui vont réussir, d’après les statistiques et modèles
réunis au long des années (domaine BigData in Education)

16/03/2016 Introduction au big data 9


Application du big data
(agriculture)
■ Les vaches intelligentes : capteurs dans les oreilles
■ Une vache crée 200 MB de données par an
– Suivre leur état de santé
– Suivre leurs mouvements
– Suivre la température
– Suivre le processus de nutrition

16/03/2016 Introduction au big data 10


Analyse et découverte de
tendance
■ Facebook :
– En analysant les données de transactions, sociales et géographiques
– Analyse des actions + actions des amis = expérience très
personnalisée et un nouveau modèle d’affaires de publicité
■ American Express
– Prédiction de 24% des actionnaires Australiens qui vont quitter la
compagnie dans les prochains 4 mois basé sur 115 variables
■ Sojern : http://www.sojern.com/
– Consolide données de lignes aériennes, hôtels, locations d’autos et
cartes de crédit
– Quand les gens vont, où ils vont, combien de personnes voyagent, les
marques préférées, les temps de déplacement et la classe de service

16/03/2016 Introduction au big data 11


Exemple d’utilisation aux
Etats Unis
■ Department de la santé et services de l’humanité.
■ Institut national de santé: améliorer l'utilisation de
l'imagerie dans les recherche sur le cancer en
développant des ressources qui mèneront à l'aide à
la décision clinique.
■ Département d’énergie : permettre d'obtenir des
observations précises des phénomènes
atmosphériques clés nécessaires pour la
compréhension des processus atmosphériques et
climatiques.

16/03/2016 Introduction au big data 12


Royaumes Unis

■ Développer des déclarations d'impôt et des prestations


personnalisées et plus détaillées et interactives, aux
particuliers et aux entreprises : aider dans la lutte de la non-
conformité, des fraudes et des erreurs
■ Adopter des techniques prédictives pour tirer le meilleur
usage de ressources et faire progresser la prévention contre
la crime.
■ Accélérer les investissements du réseau intelligent pour
accroître l'efficacité globale de la consommation d'énergie
par les entreprises.

16/03/2016 Introduction au big data 13


le Big Data: football
■ Un grand nombre de statistiques accessibles en un instant
– Les matchs de l'équipe d'Allemagne sont enregistrés et les
différentes données sont analysées puis incorporées dans le
logiciel.
– En sélectionnant un joueur, on accède à ses statistiques
individuelles comme la distance parcourue ou sa vitesse au
moment choisi du match.

16/03/2016 Introduction au big data 14


Inconvénients
■ La croissance des données entraîne en particulier une hausse
des coûts du matériel, du logiciel, de la maintenance associée,
de l’administration et des services
■ Le Big Data exige un nouvel ensemble de compétences au sein
de l’entreprise, or celles-ci résident le plus souvent au sein du
département informatique.
■ Les services informatiques disposent du savoir-faire
technologique nécessaire pour que les tâches de Cloud
Computing et de gestion des Big Data fonctionnent correctement
dans l’organisation.
■ Les projets d’analyse Big Data nécessitent des équipes
multidisciplinaires, et une collaboration active doit être engagée
entre le service informatique et les data scientists.

16/03/2016 Introduction au big data 15


Inconvénients
■ L’élaboration de stratégies pour aider les organisations qui
dépendent de leurs données se heurte à plusieurs
difficultés :
– Contraintes de budget.
– Complexité accrue.
– Exigences de disponibilité.

16/03/2016 Introduction au big data 16


ECOSYSTÈME
HADOOP

16/03/2016 Introduction au big data 17


Histoire de Hadoop

16/03/2016 Introduction au big data 18


Hadoop

■ Stockage et traitement de données volumineuses


■ Bien qu'il peut aussi bien fonctionner sur une seule
machine, sa vrai puissance n'est visible qu'à partir
d'un environnement composé de plusieurs
ordinateurs.
■ La multiplication de l'espace disque ne va pas avec
l'accélération de la lecture des données.
Diviser les données en plusieurs parties
pour les stocker sur plusieurs machines.

16/03/2016 Introduction au big data 19


Hadoop

■ Hadoop n’est pas conçu pour des requêtes temps réel ou de


faible latence.
■ Hadoop est performant dans le traitement des batch hors
ligne d’un grand volume de données.
■ Les SGBDR sont meilleures pour les transactions en ligne et
de faible latence.

16/03/2016 Introduction au big data 20


Hadoop

■ Le projet Hadoop consiste essentiellement en deux grandes parties:


– Stockage des données : HDFS (Hadoop Distributed File System)
– Traitement des données : MapReduce
■ Principe :
– Diviser les données
– Les sauvegarder sur une collection de machines, appelées cluster
– Traiter les données directement là où elles sont stockées, plutôt
que de les copier à partir d’un serveur distribué
■ Il est possible d’ajouter des machines au cluster, au fur et à mesure que
les données augmentent

16/03/2016 Introduction au big data 21


Ecosystème Hadoop 1.0
Apache Oozie (workflow)

Hive Pig Hue Mahout

MapReduce Framework
Hbase

HDFS (Hadoop Distributed File System)

Flume Import et export Sqoop

Données non Données structurées


structurées
16/03/2016 Introduction au big data 22
Ecosystème Hadoop

■ Au début, Hadoop a été connu par ses deux principaux


composants
– HDFS : Hadoop Distributed FileSystem
– MapReduce : framework de traitement des données
distribuées
■ Aujourd'hui, en plus de HDFS et MapReduce, on trouve plusieurs
autres composants :
– HBase: base de données Hadoop orientée colonne;
supporte batch et lecture aléatoire.
– Oozie: Planificateur et manager du workflow Hadoop
– Pig: Langage de traitement de données
– Hive: Data warehouse avec interface SQL.

16/03/2016 Introduction au big data 23


Ecosystème Hadoop
 Connexion du HDFS à partir d’outils externes
 Sqoop :
 Prend les données à partir d’une base de données
traditionnelle, et les met dans HDFS, comme étant des
fichiers délimités, pour être traitées avec d’autres
données dans le cluster
 Flume:
 Système distribué permettant de collecter, regrouper et
déplacer efficacement un ensemble de données (des
logs) à partir de plusieurs sources vers le HDFS

16/03/2016 Introduction au big data 24


Ecosystème Hadoop

■ Hue :
– Front-end graphique pour le cluster
– Fournit
■ Un navigateur pour HDFS et HBase
■ Des éditeurs pour Hive, Pig, Impala et Sqoop
■ Mahout :
– Bibliothèque d’apprentissage automatique
– Permet de :
■ Déterminer des éléments qu’un utilisateur pourra apprécier
selon son comportement
■ Grouper des documents
■ Affecter automatiquement des catégories aux documents

16/03/2016 Introduction au big data 25


Distribution Hadoop

■ Les Distributions Hadoop vise a résoudre les problèmes


d’incompatibilité des versions.
■ Les vendeurs des distributions vont :
– Intégrer un jeu de test du produit Hadoop
– Packager les produits Hadoop dans divers format
d’installation
– Les distributions peuvent fournir des scripts additionnels
pour exécuter Hadoop
– Quelques vendeurs peuvent choisir de reporter les
fonctionnalités et les bugs corrigés faites par Apache

16/03/2016 Introduction au big data 26


Vendeurs de distribution

■ Cloudera Distribution for Hadoop (CDH)

■ MapR Distribution

■ Hortonworks Data Platform (HDP)

■ IBM InfoSphere BigInsights

16/03/2016 Introduction au big data 27


HDFS & MAPREDUCE

16/03/2016 Introduction au big data 28


Pourquoi DFS ?
Lecture de 1 TB de données

1 Machine 10 Machines

4 I/O canal 4 I/O canal


Chaque canal – 100MB/s Chaque canal – 100MB/s

45 minutes 4.5 minutes

16/03/2016 Introduction au big data 29


Objectifs de HDFS

■ Garantir l'intégrité des données malgré une


défaillance système (plantage d'une machine)
■ Permettre un traitement rapide des fichiers
d'une grande taille (GB et plus); HDFS est
moins adapté à beaucoup de fichiers d'une
petite taille
■ Rapprocher la lecture de la localisation des
fichiers plutôt que de rapprocher les fichiers à
la lecture;

16/03/2016 Introduction au big data 30


Concepts de base de HDFS

NameNode Secondary NameNode


Metadata des fichiers: Metadata des fichiers:
Data1.txt (150 Mo) Data1.txt -> 1,2,3 Data1.txt -> 1,2,3
Data2.txt -> 4,5 Data2.txt -> 4,5

DataNode DataNode DataNode DataNode


3 3 3 1
r=3
2 hdfs-site.xml
2 1 1 2 dfs.replication

Rack #1 Rack #2

16/03/2016 Introduction au big data 31


Concepts de base de HDFS

■ Master-slave pattern : ce modèle suppose le traitement


parallèle d'un ou plusieurs opérations à travers
plusieurs esclaves et un maitre.
– Le maitre :
■ Ordonne toutes les opérations et maintient la cohérence
des méta-données,
■ S'appelle namenode.
■ Réceptionne la demande du client et la passe directement
à ses esclaves qui s'appellent datanodes.
■ Maintien et gère les blocs qui existent dans les datanodes.
– Les datanodes stockent et récupèrent les blocs
demandés.

16/03/2016 Introduction au big data 32


NameNode : Méta data
■ Types de Méta data
NameNode
– Liste de fichiers
Metadata
– Liste de blocs dans chaque fichiers
File.txt=
– Liste des dataNodes pour chaque Blk A : DN: 1,7,8
bloc Blk B : DN: 8,12,14

Rack awareness
– Attributs de fichier, exemple : temps
d’accès, facteur de réplication Rack 1 :
DN: 1,2,3,4,5
– Fichier log Rack 2 :
DN: 6,7,8,9,10
– Enregistrement de création et Rack 3 :
DN:
suppression de fichiers. 11,12,13,14,15

16/03/2016 Introduction au big data 33


NameNode/DataNode

■ La taille d’un bloc est 64MB ou 128MB


– Valeur par défaut : 64MB
■ Namenode détermine l’emplacement d’un réplica
■ Les réplicas sont placés dans des rack.
– Équilibre entre fiabilité et performance
■ tentatives de réduire la bande passante
■ tentatives pour améliorer la fiabilité en mettant les réplica sur
plusieurs rack
– Par default 3 réplications
■ 1er replica dans le rack local
■ 2eme replica dans le rack local mais dans une différente machine
■ 3eme replica dans un rack diffèrent.
– La politique peut évoluer dans le future.

16/03/2016 Introduction au big data 34


Problèmes DataNode

■ Si l’un des nœuds a un problème, les données seront


perdues
– Hadoop réplique chaque bloc 3 fois
– Il choisit 3 nœuds au hasard, et place une copie du bloc
dans chacun d’eux
– Si le nœud est en panne, le NN le détecte, et s’occupe
de répliquer encore les blocs qui y étaient hébergés pour
avoir toujours 3 copies stockées

16/03/2016 Introduction au big data 35


Namenode secondaire

■ Le namenode secondaire est important dans le processus de


récupération du système au cas de plantage du namenode principal.
■ Il ne s'agit pas d'un remplaçant du namenode primaire.
■ Secondary namenode vérifie périodiquement l'état du namenode
principal.
■ Son arborescence de répertoire est quasi identique a celui du
namenode principal.

16/03/2016 Introduction au big data 36


Namenode secondaire

■ Le namenode secondaire n’est pas :


– Un fail-over pour le Namenode
– Ne garantit pas la haute disponibilité
– N’améliore pas les performances du namenode

16/03/2016 Introduction au big data 37


MapReduce

■ MapReduce s’execute avec les demons JobTracker et


TaskTracker
– JobTracker planifie les taches, affecte les taches aux
TaskTrackers.
– JobTracker gère les jobs MapReduce et surveille les
progrès réalisés
– JobTracker récupère les erreurs, et redémarre les tâches
lentes et les taches qui ont échoué

16/03/2016 Introduction au big data 38


Démons de MapReduce
■ TaskTracker  JobTracker
– Ils notifient périodiquement  Coordonne l’exécution des jobs
le JobTracker du niveau de sur l’ensemble du cluster.
progression d’une tâche ou
bien le notifient en cas  Il communique avec
d’erreur afin que celui-ci les TaskTrackers en leur
puissent reprogrammer et attribuant des tâches
assigner une nouvelle tâche. d’exécution (map ou reduce).
– S’exécute sur chacun des  Le JobTracker est un démon
nœuds pour exécuter les cohabitant avec le NameNode.
vraies tâches de MapeReduce
– Choisit en général de traiter
(Map ou Reduce) un bloc sur
la même machine que lui
– S’il est déjà occupé, la tâche
revient à un autre tracker, qui
utilisera le réseau (rare)
– Un TaskTracker est un démon
cohabitant avec un DataNode.

16/03/2016 Introduction au big data 39


Map-Reduce

■ Ce modèle se base sur 2 étapes :


– Mapping (map tasks) : le développeur définit une
fonction de mappage dont le but sera d'analyser les
données brutes contenues dans les fichiers stockés sur
HDFS pour en sortir les données correctement
formatées.
– Réduction (reduce tasks) : cette tâche récupère les
données construites dans l'étape du mappage et
s'occupe de les analyser dans le but d'en extraire les
informations les plus importantes.

16/03/2016 Introduction au big data 40


Map-Reduce: Fonctionnement
■ Les Mappers sont de petits programmes
qui commencent par traiter chacun une
petite partie des données
■ Ils fonctionnent en parallèle
■ Leurs sorties représentent les
enregistrements intermédiaires : sous
forme d’un couple (clef, valeur)
■ Une étape de Mélange et Tri s’ensuit
– Mélange : Sélection des piles de
fiches à partir des Mappers
– Tri: Rangement des piles par ordre
au niveau de chaque Reducer
■ Chaque Reducer traite un ensemble
d’enregistrements à la fois, pour générer
les résultats finaux

16/03/2016 Introduction au big data 41


Map-Reduce: Exemple
■ But : Calculer le nombre d’occurrences des mots
constituant le texte.
■ L’ensemble du processus est schématisé ci-dessous

16/03/2016 Introduction au big data 42


LANGAGE DE
REQUÊTE HADOOP

16/03/2016 Introduction au big data 43


Introduction

■ Pour éviter les complexités du modèle de programmation


Hadoop, quelques langages de développent d’application ont
été intégrés a Hadoop.
– Pig

– Hive

– …….

16/03/2016 Introduction au big data 44


Pig, Hive –Similarités

■ Reduire la taille des programmes java


■ Les applications sont traduites en programmes MapReduce
en arriere plan.
■ Fonctionnalité extensible
■ Interoperabilité avec les autres languages
■ Non concu pour les lecture/ecriture aléatoire ou les requetes
de faible latence.

16/03/2016 Introduction au big data 45


Pig, Hive, Jaql –Différences

Caractéristiques Pig Hive


Développé par Yahoo! Facebook

Langage Pig latin HiveQL

Type de langage Data flow SQL

Structure de données Complex Structuré


supportée
Schema optionnel Obligatoire

16/03/2016 Introduction au big data 46


PIG

16/03/2016 Introduction au big data 47


Pig vs MapReduce

■ MapReduce a besoin de programmeurs


– On doit penser en terme de fonctions map et reduce
– nécessite probablement des programmeurs Java
■ Pig fournit un langage de haut niveau conçu pour formuler des programmes
d'analyse de données.
■ converti en MapReduce et exécuté dans un cluster Hadoop.
■ Il peut être utilisé par :
– Analystes
– Scientifiques de données
– Statisticiens
– Etc...
■ Initialement mis en œuvre par Yahoo! pour permettre aux analystes
d'accéder aux données

16/03/2016 Introduction au big data 48


Pig : cas d’utilisation

■ Extract Transform Load (ETL)


– Ex: traitement d’un grand volume de fichiers log
■ Recherche d’information
– Exemple : fichier d’audit
– Le schéma peut-être inconnue ou incohérent

16/03/2016 Introduction au big data 49


Pig Latin : Commandes

■ Trois étapes pour un programme Pig typique :


– LOAD :
■ Chargé les données a partir de HDFS
– TRANSFORM
■ Traduit en un ensemble de taches map et reduce
■ Operateurs relationnels : FILTER, FOREACH, GROUP,
UNION, etc.
– DUMP or STORE
■ Affiche le resutat sur l’ecran ou les stocke dans un fichier

16/03/2016 Introduction au big data 50


HIVE

16/03/2016 Introduction au big data 51


Hive

■ Solution Data Warehouse intégrée dans Hadoop


■ Fournit un langage de requête similaire au SQL nommé
HiveQL
– nécessite un apprentissage minimale pour les
personnes ayant une expertise SQL
– public cible : analystes de données
■ Les travaux de développement Hive ont commencé sur
Facebook en 2007

16/03/2016 Introduction au big data 52


Offres de Hive

■ Capacité de structuration des différents formats de données


■ Interface simple pour l’analyse et la synthèse de grandes
quantités de données
■ L'accès aux fichiers sur les différents supports de stockage
de données tels que HDFS et HBase

16/03/2016 Introduction au big data 53


Hive

■ Traduit les requêtes HiveQL en un ensemble de jobs


MapReduce qui seront exécutés dans un cluster Hadoop.

16/03/2016 Introduction au big data 54


Hive : Concepts

■ Inspiré des bases de données relationnelles


– Base de données: ensemble de table
– Table: ensemble de lignes qui ont le même schéma
(même nombre de colonnes)
– Ligne: un enregistrement, ensemble de colonnes
– Colonne: contient la valeur et le type d’un champs

16/03/2016 Introduction au big data 55


SGBDNR

16/03/2016 Introduction au big data 56


Introduction

■ NoSQL : Not Only SQL.


■ Que signifie vraiment « Not Only » ???
■ Historique:
– Le terme « NoSQL » dans sa signification actuelle vient
du nom d'un séminaire (pendant une conférence sur
Hadoop) qui a eu lieu en 2009 sur les nouveaux types
de bases de données qui n'utilisent pas SQL.
– Il fallait un nom qui fasse un bon hashtag sur Twitter :
court, facile à mémoriser, et non populaire sur Google
pour espérer pouvoir remonter dans les premiers
résultats.

16/03/2016 Introduction au big data 57


Bases de données
relationnelles
• Entités - relation
Modèle • Simple
• Universel

• SQL
Requête • Puissant
• Ad-hoc

Transactio • ACID
n
• Utilisé massivement
Maturité • Nombreux moteurs sur le marché
• Nombreux outils

16/03/2016 Introduction au big data 58


SQL

■ Un langage de requête plus ou moins normé


■ Tout information est décrite par des listes de n-uplets
■ Opérations puissante
– Sélection (where)
– Projection (select)
– Produit cartésien (join)
– Union
– Intersection
– Différence

16/03/2016 Introduction au big data 59


Limites des bases de
données relationnelles
■ Montée en charge difficile
– Les règles d’intégrité compliquent la
montée horizontale
– Montée en charge verticale
■ Coût non linéaire
■ Atteint une limite
■ Point unique de défaillance

16/03/2016 Introduction au big data 60


Les limites des bases
relationnelles
■ Scalabilité
– Le modèle de consistance des
RDBMS empêche l'utilisation de
plusieurs machines pour
répartir la charge (au moins en
écriture)
– Pour augmenter la performance
d'accès à la base, pas d'autres
moyens que d'acheter un plus
gros serveur, puis un autre, puis
un autre, …

16/03/2016 Introduction au big data 61


Limites des bases de
données relationnelles
■ Relation : Contient un ensemble de n-uplets (les lignes) qui
contiennent des attributs (les colonnes). Le domaine de
chaque attribut est fixé et doit être composé de valeurs
atomiques simples, i.e. non décomposables (1FN).
■ Une requête SQL de type select retourne toujours une
relation.

16/03/2016 Introduction au big data 62


Limites des bases de
données relationnelles
■ Contraintes ACID impossibles à respecter sur un cluster (et a
fortiori sur Internet) pour conserver un fonctionnement
correct (haute disponibilité, rapidité d'exécution et cohérence
permanente de la base, partition accidentelle du cluster).

16/03/2016 Introduction au big data 63


BDR : Propriétés ACID
Consistance : La base de
Atomicité : Toute transaction données doit toujours être
doit s'exécuter entièrement dans un état cohérent entre
sans erreur ou pas du tout deux transactions (assurer
par les contraintes
d’intégrité).
Propriétés
ACID

Les modifications d’une Une fois validées, les


transaction ne sont pas données sont permanentes
visibles par les autres tant jusqu’à leur prochaine
qu’elle n’a pas été validée. modification
(persistance).

16/03/2016 Introduction au big data 64


Besoin: Prise en compte des
pannes
■ Amazon:
– Un datacenter de 100 000 disques
– entre 6 000 et 10 000 disques en panne par an
– (25 disques par jour)
■ Les sources de panne sont nombreuses
– Matériel serveur (disque)
– Matériel réseau
– Alimentation électrique
– Anomalies logicielles
– Mises à jour des logiciels et des OS.

16/03/2016 Introduction au big data 65


Bases de données NOSql

■ Bases de données NOSQL (Not OnlySQL) :


– Pas un Système de Gestion de Bases de Données mais
plus un système de stockage de données.
– Bases de données non-relationnelles et largement
distribuées
– Permet une analyse et une organisation rapides des
données de très grands volumes et de types de données
divers
– Appelées également
■ Cloud Databases
■ Non-Relational Databases
■ BigData Databases

16/03/2016 Introduction au big data 66


Bases de données NOSql

■ Le NoSQL vise :
– Gestion d'énormes quantités de données
– Structuration faible du modèle
– Montée en charge
■ Caractéristiques
– Conçu pour être exécutée dans un cluster,
– Tendance à être Open Source,
– Modèle de données sans schéma
– Architecture distribuée
– Utilisation de langages et interfaces qui ne sont pas
uniquement du SQL

16/03/2016 Introduction au big data 67


Bases de données NOSql

Avantages Inconvénients

Fiabilité (tolérance aux pannes) Logiciel

Extensibilité Réparation

Partage des ressources Réseau

Vitesse/Performance Sécurité

16/03/2016 Introduction au big data 68


Bases de données NOSql

■ Business Intelligence et Analyse


– Capacité des bases NOSQL à exploiter les données
collectées pour dériver des idées
– Extraction d’informations décisionnelles à partir d’un
grand volume de données, difficile à obtenir avec des
bases relationnelles
■ Capacités transactionnelles modernes
– Nouvelles définitions du principe de transaction
– Utilisation des propriétés BASE au lieu des propriétés
ACID

16/03/2016 Introduction au big data 69


NOSQL : Propriétés BASE
■ BASE est plus flexible que ACID, accepte certaines
erreurs, dont l’occurrence est assez rare
Basically Available
Le système garantit la disponibilité, comme définie dans le théorème
CAP

Soft-State
L’état du système peut changer dans le temps, même sans nouvelles
entrées, et ce à cause du principe de consistance éventuelle

Eventual
Consistency
Le système deviendra cohérent au fil du temps, en supposant que le
système ne reçoit pas des entrées pendant ce temps la.

16/03/2016 Introduction au big data 70


NOSQL et BDR : Récapitulatif

BRD NOSQL

Consistance forte Consistance éventuelle

Grandes quantités de données Enorme quantité de données

Évolutivité possible Evolutivité facile

SQL Map-Reduce

Bonne disponibilité Très haute disponibilité

16/03/2016 Introduction au big data 71


Synthèse
■ Les SGBDR sont maintenant une option parmi
d'autres. Leur généricité leur permet d'être
utilisés dans de nombreux cas mais les rends
peu performants et complexes sur certains
types de données (masse de données, attributs
trop nombreux, …).
■ Il faut savoir utiliser la solution la plus adaptée et
pourquoi pas en utiliser plusieurs.
■ Bases de données NOSQL
– Performances sur de gros volumes de données
– Performances sur des données non structurées
– Evolutivité très importante, même pour de faibles
volumes
16/03/2016 Introduction au big data 72
Synthèse

■ Les systèmes NoSQL ne remplaceront jamais


les bases de données relationnelles. Il faut
les voir comme une alternative après un
quasi monopole du relationnel de plusieurs
décennies.
■ Cependant:
– Technologie assez jeune et Manque d’outils la supportant
– Encore en évolution, pas de standards
– Pas de langage de requêtage commun comme SQL
– On doit faire plus de travail au niveau du code, ce qui peut influer
sur la performance

16/03/2016 Introduction au big data 73


Types de Base de données
NOSql
■ Types des bases de données NOSQL
– Clef/valeur (Key/Value Store)
– Orientées colonnes (Column Store)
– Orientées documents (Document Database)
– Orientées graphes (Graph Database)

16/03/2016 Introduction au big data 74


Types de Base de données
NOSql Availability :
chaque
Modèle de données:
Relationnel
client peut Clé-valeur
lire et ecrire Orientées colonnes
Orientées documents

Consistency: Partition Tolerance:


tout les Le système marche
clients ont la indépendamment de
meme vue s partitions physique
sur les du système
données

16/03/2016 Introduction au big data 75


1. Clef/Valeur
■ stockage simple et direct d'un tableau associatif
(hashtable) où tous les accès se font en utilisant la clé
primaire
■ Conçues pour sauvegarder les données sans définir de
schéma
■ Interrogation uniquement par la clé. On récupère une
donnée associée à une clé.
■ Ne fait que stocker des données en rapport avec une clé.
Seulement 3 opérations possibles :
– Put : donner une valeur à une clé
– Get : récupérer la valeur d'une clé
– Delete : effacer la clé et sa valeur
■ Exemple: DynamoDB(Amazon), Azure Table Storage (ATS),
Redis, BerkeleyDB, Voldemort(LinkedIn)
16/03/2016 Introduction au big data 76
1. Clef/Valeur

 A utiliser pour ...


■ De l'information très volatile
– Session utilisateur, données d'un panier d'achat
■ De l'information très peu volatile et accéder très fréquemment
– Descriptions produit, paramétrage applicatif
 A éviter pour ...
■ Des données possédant des relations
– Relations entre agrégats ou corrélation entre données de
différents ensemble de clés
■ Des opérations impliquant de multiples clés
■ Des besoins de requêtage par les données

16/03/2016 Introduction au big data 77


1. Clef/Valeur
■ Table chien :

16/03/2016 Introduction au big data 78


2. Orientée Documents

■ Basé sur un système clé-valeur


■ Mais la valeur est une structure que le système connaît et peut
donc parcourir.
■ Chaque document est un objet, contient un ou plusieurs
champs, et chaque champs contient une valeur typée (string,
date, binary ou array)
■ Avantage : pouvoir récupérer, via une seule clef, un ensemble
d’informations structurées de manière hiérarchique
– Dans les bases relationnelles, cela impliquerait plusieurs
jointures
■ Exemples : Mongo DB (SourceForge), CouchDB (Apache),
RavenDB

16/03/2016 Introduction au big data 79


2. Orientée Documents

 A utiliser pour ...


■ Données avec partie structurée et partie non structurée
■ Données de suivi temps réel ou analytiques
 A éviter pour ...
■ Opérations nécessitant consistance sur plusieurs agrégats
■ Des structures d'agrégat très changeantes avec des besoins
de requêtage forts
– Inconvénient du schemaless

16/03/2016 Introduction au big data 80


2. Orientée Documents

16/03/2016 Introduction au big data 81


3. Orientées Colonnes
■ Évolution de la BD clef/valeur
■ Ressemble aux SGBDR, mais avec un nombre de colonnes
dynamiques, différent d’un enregistrement à un autre (pas de
colonnes portant les valeurs NULL)
■ Exemples: Hbase(Hadoop), Cassandra (Facebook, Twitter),
BigTable(Google)

16/03/2016 Introduction au big data 82


3. Orientées Colonnes

 A utiliser pour ...


■ Données avec partie structurée et partie non structurée
■ Données de publication variables
– CMS, Blogging avec commentaires, contenu dynamique,
etc …
■ Compteurs et analytiques
 A éviter pour ...
■ Des besoins de requêtage complexes
■ Des besoins de calcul d'agrégation simples (nécessité de passer
systématiquement par Map-Reduce aujourd'hui)

16/03/2016 Introduction au big data 83


3. Orientées Colonnes

16/03/2016 Introduction au big data 84


4. Orienté Graphes
■ On ne stocke plus un simple ensemble de données mais des
relations.
■ S’appuie sur les notions de nœuds, de relations et des
propriétés qui leur sont rattachées
■ Conçues pour les données dont les relations sont
représentées comme graphes, et ayant des éléments
interconnectés, avec un nombre indéterminé de relations
entre elles.
■ Le stockage d'un graphe sur plusieurs serveurs est un
problème difficile (problème de performance même pour
un simple calcul de chemin si le graphe est réparti sur
plusieurs serveurs).
■ Adapté aux traitements des données des réseaux sociaux
■ Exemples: Neo4J et InfiniteGraph, OrientDB

16/03/2016 Introduction au big data 85


4. Orienté Graphes

 A utiliser pour ...


■ Les moteurs de recommandations
– « Les autres clients ayant acheté ce produit ont aussi
acheté ... »
■ Les données naturellement connectées
– Réseaux sociaux
■ Les services basés sur la localisation ou le calcul d'itinéraires
 A éviter pour ...
■ Les cas où de nombreux nœuds doivent être mis à jour

16/03/2016 Introduction au big data 86


4. Orienté Graphes

16/03/2016 Introduction au big data 87


Comparaison entre Types de BD
NOSQL
Scalabilité et vitesse

Orientées
Clef-valeur colonnes
Orientées
documents
Orientées
graphes

Performance
Complexité des requête et de la navigabilité

16/03/2016 Introduction au big data 88

Vous aimerez peut-être aussi