introduction aux technologies et applications big data · 2018-12-05 · hadoop base de donn ees...

83
Introduction aux technologies et applications Big Data Sylvain Allemand ANF 2018 Sylvain Allemand Introduction aux technologies et applications Big Data

Upload: others

Post on 21-May-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Introduction aux technologies et applications BigData

Sylvain Allemand

ANF 2018

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 2: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Sommaire

Le Big DataLes defis du Big DataPrincipes des infrastructures materielles et logicielles du Big DataActions sur les donnees dans le Big DataQuelques exemples

Hadoop

Base de donnees non-relationnellesACID/BASECategories des bases NoSQL

MongoDB

Apprentissage : Machine Learning, Deep Learning

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 3: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Le Big Data

Historique

1992 : la National Science Foundation autorise le webcommercial, premier site e-commerce ”books.com”

1994 : premier paiement en ligne securise realise sur le siteNetMarket

1995 : debut de l’e-commerce (Pizza Hut, Amazon, Ebay)Apparition de nouveaux modeles :

I B2C : business-to-consumerI C2C : consumer-to-consumerI B2B2C : business-to-business-to-consumer

2000-2010 : smartphones, Google, Facebook, MySpace, Twitter

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 4: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Le Big Data

Quelques statistiques...

En une minute sur l’Internet :

I 470 000 tweets sur Twitter

I 2 millions de snap partages sur Snapshat

I 4 millions de recherches realisees sur Google

Dans le monde commercial :

I Walmart produit 40 peta-octets par jour

De multiples sources : reseaux sociaux, applications mobiles, differentscapteurs (montre, suivi d’activite), systemes de localisation, tags RFID,etc.

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 5: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Le Big Data

Quelques statistiques...

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 6: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Le Big Data

Le Big Data

Definition

Le terme Big Data refere a l’accroissement exponentielle des donnees, autraitement de ces dernieres ou de maniere plus generale a toutes lesetapes entrant en jeu dans le processus d’extraction d’informations utilesa partir d’enormes lots de donnees brutes.

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 7: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Le Big Data

Le Big Data

Les 3 V du Big Data :

I Volume

I Velocite

I Variete

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 8: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Le Big Data

Le Big Data

Les 3 V du Big Data :

I Volume : la quantite de donnees augmente ! 1 peta-octets toutes les15 secondes !

I est-ce que ca va continuer ?I oui ! l’industrie est prete (disques de 10To, bandes de 185 To en

2020, etc.)I un obstacle ?

I l’energie ! Actuellement l’industrie de l’information consomme entre5 et 10% de l’energie mondiale

I Velocite

I Variete

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 9: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Le Big Data

Le Big Data

Les 3 V du Big Data :

I Volume

I Velocite : vitesse a laquelle les donnees sont genereesI entraıne des difficultes technologiques de traitement et d’analyse

I Variete

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 10: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Le Big Data

Le Big Data

Les 3 V du Big Data :

I Volume

I Velocite

I Variete : variete des types et des sourcesI types : texte, audio, video, email, flux de clics, donnees de

geolocalisation, etc.I sources humaines (mails, clics, etc.) ou des machines (logs, capteurs,

sondes, etc.)I La variete engendre des donnees non-structurees !

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 11: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Le Big Data

Le Big Data

Les 3 V du Big Data :

I Volume

I Velocite

I Variete

I Valeur : represente le gain que peuvent apporter les donnees

”When an online service is free, you’re not the customer, you’rethe product” (Tim Cook)

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 12: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Le Big Data

En resume

Etre dans le Big Data, c’est rencontrer une evolution significative dans unseul ou dans plusieurs des 3V.Si les bases de donnees relationnelles avaient pu gerer les 3V, on neparlerait pas de Big Data.

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 13: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Le Big Data Les defis du Big Data

Les defis du Big Data

I Stockage : les grands volumes resultent d’une agregation d’unensemble d’entrepots de stockage, eventuellement sur differents sites

I Passage a l’echelle, elasticiteMaıtriser les couts d’acquisition, d’administration et de maintenance

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 14: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Le Big Data Principes des infrastructures materielles et logicielles du Big Data

Principes des infrastructures materielles et logicielles duBig Data

I Paralleliser le stockage

I Paralleliser le traitement

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 15: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Le Big Data Principes des infrastructures materielles et logicielles du Big Data

La parallelisation du stockage

I une multitude de petits serveurs de stockage

I une couche logicielle de gestion, supervision, detection d’erreursObjectifs :

I protection des donnees par replicationI faciliter le scale-out

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 16: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Le Big Data Principes des infrastructures materielles et logicielles du Big Data

Differentes architectures de stockage

I maitre-esclaves

I maitres-esclaves

I p2p ou maitre-maitre

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 17: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Le Big Data Principes des infrastructures materielles et logicielles du Big Data

Differentes architectures de stockage

I maitre-esclaves (1 serveur de meta donnees) : Hadoop

I maitres-esclaves

I p2p ou maitre-maitre

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 18: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Le Big Data Principes des infrastructures materielles et logicielles du Big Data

Differentes architectures de stockage

I maitre-esclaves

I maitres-esclaves (x serveurs de meta-donnees) => Mongodb

I p2p ou maitre-maitre

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 19: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Le Big Data Principes des infrastructures materielles et logicielles du Big Data

Differentes architectures de stockage

I maitre-esclaves

I maitres-esclaves

I p2p ou maitre-maitre (serveur de stockage = serveur demeta-donnees) => utilise un algorithme pour decouper/placer lesdonnees.

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 20: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Le Big Data Principes des infrastructures materielles et logicielles du Big Data

Differentes architectures de stockage

I Architecture multisite

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 21: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Le Big Data Principes des infrastructures materielles et logicielles du Big Data

La parallelisation des traitements

Les demandes de traitement sont envoyees aux serveurs de stockage etparallelisees. => Localisation des donnees importante !Paradigme le plus celebre :

I Map Reduce

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 22: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Le Big Data Principes des infrastructures materielles et logicielles du Big Data

MapReduce

Propose par Google en 2004, deux fonctions principales executees demaniere sequentielle :

Map est appliquee en parallele sur chaque partition de donnees.Exemple : compter les occurrences de mots dans chaquepartition ou chercher un motif

Reduce recoit en entree un ou plusieurs resultats intermediaires etexecute un ensemble d’operations, typiquement un tri ouune fusion, et produit un resultat

L’adoption globale de MapReduce a motive son amelioration avec denouvelles extensions (HALoop, BigSQL, etc.)

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 23: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Le Big Data Principes des infrastructures materielles et logicielles du Big Data

MapReduce

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 24: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Le Big Data Principes des infrastructures materielles et logicielles du Big Data

Quelques remarques

I plus besoin de sauvegarde (replication) !

I tache d’administration constante quel que soit la taille du systemeBig Data

I la gestion des meta-donnees reste l’obstacle technique principal aupassage a l’echelle actuellement

I la duree de vie des donnees peut etre infinie !

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 25: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Le Big Data Actions sur les donnees dans le Big Data

Actions sur les donnees dans le Big Data

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 26: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Le Big Data Actions sur les donnees dans le Big Data

Ingestion des donnees

Plusieurs problematiques se posent lorsque le volume en entree est tropimportant (exemple du SKA) :

I reduction par calcul des donnees

I traiter au plus pres des sources de donnees

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 27: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Le Big Data Actions sur les donnees dans le Big Data

Stockage : le lac de donnees

I processus ELT (Extract Load Transform) 6= ETL (Extract TransformLoad)

I espace de donnees utilise pour stocker les donnees dans leur formatnatif, en attendant d’etre analysees

I presente une architecture a plat 6= un entrepot de donnees consigneles donnees de maniere hierarchique, dans des fichiers ou dossiers

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 28: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Le Big Data Actions sur les donnees dans le Big Data

Etude de la qualite

Les sources et les formes sont heterogenes ou indignes de confiance :capteurs defectueux, erreurs d’orthographe dans une publicationFacebook, fraude ou comportement malicieux...Plusieurs actions :

I controler les entrees

I connaıtre l’impact des erreurs potentielles sur les donnees

I detection des inexactitudes ou des absences de donnees

I nettoyage des donnees (50 a 90 % du temps du metier dedata-scientist)

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 29: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Le Big Data Actions sur les donnees dans le Big Data

Etude de la qualite

Plusieurs actions :

I controler les entrees

I connaıtre l’impact des erreurs potentielles sur les donnees

I detection des inexactitudes ou des absences de donnees

I nettoyage des donnees (50 a 90 % du temps du metier dedata-scientist)

Un cinquieme V du Big Data: la Veracite

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 30: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Le Big Data Actions sur les donnees dans le Big Data

Indexation

I consiste a ajouter des meta-donnees metiers permettant le requetagedes donnees

I semi-structuration des donnees

I metier de ”data scientist”

I detection automatique d’informations (numero de tel, carte decredit, adresse, etc.)

I exemple de produit : splunk, graylog, logstash

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 31: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Le Big Data Actions sur les donnees dans le Big Data

Streaming ou traitement d’evenements

Objectif de temps de reponse d’un traitementDeux appellations de traitement de flux de donnees :

I streaming (flux en continu)

I traitement d’evenements complexes (CEP : Complex EventProcessing)

Exemple de produit : RabbitMQ, Apex, Storm, Kafka

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 32: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Le Big Data Actions sur les donnees dans le Big Data

Analyses

Chercher une aiguille dans une meule de foin !

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 33: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Le Big Data Quelques exemples

Quelques exemples

Spotify :I 30 millions de morceaux de musique, 75 millions d’utilisateurs, +

d’un milliard de listes d’ecouteI 10 To d’evenements utilisateurs par jourI objectif : promotion des artistes et des labels, diffusion de publicites

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 34: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Hadoop

Hadoop

I logiciel open source de la fondation Apache

I dedie au stockage et au traitement de larges volumes de donnees

I cree par Doug Cutting en 2004

I deux composants :I parallelisation des donnees (HDFS)I analyse des donnees (MapReduce)

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 35: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Hadoop

Hadoop - ecosysteme

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 36: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Hadoop

Hadoop

I Mode maıtre-esclaves

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 37: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Hadoop

Hadoop

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 38: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Hadoop

Hadoop - HDFS

I stockage WORM (Write Once Read Many)

I performance en terme de debit, pas en terme de latence

I les donnees sont decoupees en bloc de 128 Mo repliquees 3 fois

I gestion de l’emplacement des differents blocs et leur repliques gereepar le NameNode

I parallelisme massif (les clients s’adressent aux datanodes)

I passage a l’echelle : de 2 a plus de 10 000 (le plus gros actuellementconnu)

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 39: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Hadoop

Hadoop- HDFS - Rack Awareness

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 40: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Hadoop

Hadoop - MapReduce

I JobtrackerI charge de la coordinationI reparti les taches sur les tasktrackerI une instance par cluster

I TasktrackerI execute les tachesI present sur chaque ”datanode”

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 41: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Hadoop

Hadoop - MapReduce

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 42: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Hadoop

Hadoop - TP

A vous de jouer !https://plmlab.math.cnrs.fr/anf2018/bd-hadoop

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 43: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Base de donnees non-relationnelles

Base de donnees non-relationnelles

Fin des annees 90, les bases de donnees relationnelles atteignent leurlimite.Caracteristiques des bases de donnees non-relationnelles :

I abandon de requetage SQL, d’ou le nom NoSQL

I abandon du modele relationnel, puisque les BDD non-relationnellessont adaptees a ingerer des donnees non-structurees

I perte des qualites d’integrite et de coherence (ACID)

I enregistrement et extraction des donnees rapides

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 44: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Base de donnees non-relationnelles ACID/BASE

ACID

Proprietes fondamentales des BDD relationnelles :

atomicite : un ensemble de modifications a lieu entierement ou pasdu tout

coherence : toute transaction laisse la base dans un etat coherent

isolation : les transactions n’interferent pas les unes avec les autres

durabilite : les transactions achevees perdurent meme apres leredemarrage du serveur

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 45: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Base de donnees non-relationnelles ACID/BASE

BASE

Proprietes des BDD non-relationnelles :

Basic Availability (BA) : relachement des contraintes au profit de ladisponibilite

Soft state (S) : la base NoSQL n’a pas a etre coherente a toutinstant

Eventual consistency (E) : coherence differee

En resume : la disponibilite des donnees est favorisee au detriment de lacoherence

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 46: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Base de donnees non-relationnelles ACID/BASE

Theoreme CAP

Expose par Brewer en 1999, 3 proprietes fondamentales pour caracteriserles bases de donnees (relationnelles, NoSQL et autres) :

Consistency : systeme dans un etat coherent apres une operation

Availability : le systeme repond toujours

Partition tolerance : tolerance au partitionnement (distribution)

Dans toute BDD, vous ne pouvez respecter au plus que 2 proprietes

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 47: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Base de donnees non-relationnelles ACID/BASE

Theoreme CAP

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 48: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Base de donnees non-relationnelles ACID/BASE

Theoreme CAP

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 49: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Base de donnees non-relationnelles Categories des bases NoSQL

Les types des bases NoSQL

Quatre types de bases NoSQL

I Bases cle-valeur

I Bases orientees colonnes

I Bases orientees documents

I Bases orientees graphes

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 50: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Base de donnees non-relationnelles Categories des bases NoSQL

Bases ”cle-valeur”

Les donnees sont associees a une cle

Cle : numero de carte1234 Dupont ; Jacques ; 01/01/19015678 Dupont ; Henri ; 02/02/1902

Logiciels : MemCached, Redis, Aerospike

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 51: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Base de donnees non-relationnelles Categories des bases NoSQL

Bases ”colonnes”

Correspond a une table ou (a la difference des BDD relationnelles)chaque ligne est associee a un nombre variable de colonnes, pouvant allerjusqu’a plusieurs millions.

ID carte Patronyme Prenom Age Adresse email1234 Dupont Jacques 117 Rue du pont5678 Dupont Henri 1169012 Martin [email protected]

Les index sont cle de ligne, cle de colonne, horodatage.Logiciels : HBase, Cassandra

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 52: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Base de donnees non-relationnelles Categories des bases NoSQL

Bases ”documents”

Des objets appeles ”documents” stockent les donnees sous formed’attributs ou chaque attribut peut etre un autre document. Undocument est une entite atomique Les index sont le nom des champs.

{

"nom": "Dupont",

"age": 117,

"adresse": {

"rue": "rue du pont",

"ville": "Paris"

}

}

Logiciels : CouchBase , MongoDB

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 53: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Base de donnees non-relationnelles Categories des bases NoSQL

Bases ”graphes”

Representation de noeuds, de liens entre ces noeuds qui correspondent ades jointures dans le monde relationnel, et des proprietes de ces liens.

I graphes de proprietes : noeuds et liens.I graphe de triples de Resource Description Framework. Un triple

RDF : sujet − > predicat − > objet

Les bases ”graphes” conviennent a de nombreux domaines : relationssociales entre individus, reseau de transport, etc. Elles permettent derealiser des millions de jointures par seconde

Logiciel : Neo4J

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 54: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Base de donnees non-relationnelles Categories des bases NoSQL

NewSQL

NewSQL regroupe les bases qui tentent de lier la puissance des basesNoSQL aux qualites ACID des BDD relationnelles.

I NoSQL se tournant vers le relationnel (MemSQL)

I relationnel integrant des concepts du NoSQL (VoltDB)

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 55: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Base de donnees non-relationnelles Categories des bases NoSQL

Les bases de donnees et les GPU

Plusieurs bases de donnees accentuent leur puissance de traitement parl’emploi de GPU :

I Kinetica

I Blazegraph

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 56: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Base de donnees non-relationnelles Categories des bases NoSQL

Du SQL sur du non-structure

Selon la situation, il peut etre utile de requeter en SQL. Des outils ontete concus :

I Hive (Hive SQL)

I Big SQL

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 57: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

MongoDB

MongoDB

I Base de donnees orientee documents (format JSON)

I NoSQL

I Developpement demarre en 2007, ecrit en C++

I multi-plateforme

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 58: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

MongoDB

MongoDB

I chaque serveur MongoDB peut contenir un ensemble de bases dedonnees

I chaque base de donnees peut contenir plusieurs collections

I chaque collection peut contenir un ensemble de documents

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 59: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

MongoDB

Fonctionnalites principales

I indexation (64 index max par collection)

I replication (replica set)

I distribution de charge (sharding)

I MapReduce + Aggregation

I Collections circulaires (Capped collection)

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 60: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

MongoDB

Indexation

Types d’index :

I Single Field Indexes

I Compound Indexes

I Multikey Indexes

I Geospatial Indexes

I Text Indexes

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 61: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

MongoDB

Indexation

Types d’index :

I Single Field Indexes

I Compound Indexes

I Multikey Indexes

I Geospatial Indexes

I Text Indexes

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 62: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

MongoDB

Indexation

Types d’index :

I Single Field Indexes

I Compound Indexes

I Multikey Indexes

I Geospatial Indexes

I Text Indexes

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 63: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

MongoDB

Indexation

Types d’index :I Single Field IndexesI Compound IndexesI Multikey Indexes

I Geospatial IndexesI Text Indexes Sylvain Allemand Introduction aux technologies et applications Big Data

Page 64: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

MongoDB

Indexation

Types d’index :

I Single Field Indexes

I Compound Indexes

I Multikey Indexes

I Geospatial Indexes

I Text Indexes

Proprietes d’index :

I TTL Indexes

I Unique Indexes

I Sparse Indexes

I Partial Indexes

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 65: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

MongoDB

Replication - Replica Set

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 66: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

MongoDB

Haute-Disponibilite

I Un replica set rend le systeme hautement disponible en proposant unmecanisme de gestion de panne (failover)

I Lors de la panne d’un maıtre, le systeme declenche un mecanismed’election d’un nouveau maıtre

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 67: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

MongoDB

Distribution de charge - Sharding

I Le sharding est une methode de distribution de donnees sur unensemble de noeuds

I Passage a l’echelle horizontal (scale-out)

I Les documents sont partages dans des chunks (64 Mo max) qui sontdistribues sur les noeuds du cluster

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 68: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

MongoDB

Distribution de charge - Sharding

3 types d’instances mongo :

I Shard

I Router (mongos)

I Serveur de configuration

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 69: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

MongoDB

Distribution de charge - Cle de Sharding

I Champ indexe qui permet de determiner le shard dans lequelsera/est stocke un document

I Range-bases shardingI Hash-bases sharding

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 70: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

MongoDB

Distribution de charge - Cle de Sharding

I Champ indexe qui permet de determiner le shard dans lequelsera/est stocke un document

I Range-bases sharding

Les cles de sharding ”proches” sont dans le meme chunk.I Hash-bases sharding

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 71: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

MongoDB

Distribution de charge - Cle de Sharding

I Champ indexe qui permet de determiner le shard dans lequelsera/est stocke un document

I Range-bases shardingI Hash-bases sharding

les cles de sharding ”proches” ne sont pas necessairement dans lememe chunck. Meilleure distribution des documents sur le cluster

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 72: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

MongoDB

MapReduce

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 73: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

MongoDB

Aggregation Pipeline

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 74: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

MongoDB

MongoDB - TP

a vous de jouer !https://plmlab.math.cnrs.fr/anf2018/bd-mongodb

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 75: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Apprentissage : Machine Learning, Deep Learning

Apprentissage

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 76: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Apprentissage : Machine Learning, Deep Learning

Neurone artificiel

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 77: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Apprentissage : Machine Learning, Deep Learning

Reseaux de neurones

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 78: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Apprentissage : Machine Learning, Deep Learning

Machine Learning

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 79: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Apprentissage : Machine Learning, Deep Learning

Machine Learning

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 80: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Apprentissage : Machine Learning, Deep Learning

Machine Learning

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 81: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Apprentissage : Machine Learning, Deep Learning

Deep Learning

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 82: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Apprentissage : Machine Learning, Deep Learning

ImageNet

Sylvain Allemand Introduction aux technologies et applications Big Data

Page 83: Introduction aux technologies et applications Big Data · 2018-12-05 · Hadoop Base de donn ees non-relationnelles ACID/BASE Cat egories des bases NoSQL MongoDB Apprentissage : Machine

Apprentissage : Machine Learning, Deep Learning

Bibliographie et sources

G. Chesnot. Big data et cloud: Stockage et traitement de donneesdu futur. Vuibert, 2017. isbn: 9782311404944.

T. Davenport. Strategie Big Data. Apprendre, toujours. Pearson,2014. isbn: 9782744066177.

ScienceEtonnant. Le deep learning. Youtube. 2016. url:https://www.youtube.com/watch?v=trWrEWfhTVg.

Radu Tudoran. “High-Performance Big Data Management AcrossCloud Data Centers”. Theses. ENS Rennes, Dec. 2014. url:https://tel.archives-ouvertes.fr/tel-01093767.

Sylvain Allemand Introduction aux technologies et applications Big Data