Big Data and Machine Learning Course. Part No 1
Big Data and Machine Learning Course. Part No 1
Learning OBJECTIFS
Le Big Data est un
phénomène aux multiples
CONTENU DE LA
MATIERE
Les fondements du Big Data
facettes qui fait beaucoup
1. La révolution de l’usage
• Depuis le début de l’informatique personnelle dans les années 1980, jusqu’à
l’omniprésence du Web actuelle dans la vie de tous les jours, les données ont été
produites en quantités toujours croissantes. Photos, vidéos, sons, textes, logs en
tout genre.
• Depuis la démocratisation de l’Internet, ce sont des volumes impressionnants de
données qui sont créés quotidiennement par les particuliers, les entreprises et
maintenant aussi les objets et machines connectés.
• Les données libérées par les organisations et les entreprises, désignées sous le nom d’open data : horaires de
transports en commun, statistiques sur les régions et le gouvernement, réseau des entreprises, données sur les
magasins.
Les fondements Les origines du Big Data
du Big Data
• La consumérisation de l’informatique.
• Les campagnes du Web (Apple, Google, Amazon...) visant à encourager un
usage toujours croissant de leurs services.
• Une demande croissante de puissance de traitement et de stockage de données:
► Une obsolescence rapide des architectures IT habituellement utilisées:
bases de données relationnelles et serveurs d’applications.
Les fondements Les origines du Big Data
du Big Data
Nb de nœuds
$ par To
exponentielle en accord avec la célèbre loi de Moore: 1980: Apple $ 14 millions pat To
✓ Capacité de stockage. APPANet nœud
2010: Barracoda $70 par To
n°1 à UCLA
✓ Nombreux de nœuds que l’on peut mettre en
parallèle dans un data center. 1970 2020 1969 2020
$ par GFLOPS
1961: IBM1620 $ 1100 millions
$ par Mbps
2009: AMD Radeon $0.59
2010: $5
5. Des progrès initiés par les géants du web ✓ Parallélisation des traitements opérant sur des volumes de données se chiffrant en plusieurs
Pour bénéficier de ces ressources de stockage
colossales, les géants du web ont du développer pour centaines de téraoctets..
leurs propres besoins de nouvelles technologies: ✓ MapReduce: Un modèle de conception proposé par Google qui permet d’automatiser la
parallélisation d’une grande classe de traitements qui, pour traiter les données récupérées par
les crawlers de son moteur de recherche et indexer la totalité du web
✓ Le système de traitement parallèle Hadoop Apache est le principal exemple de ce transfert de
technologie vers le monde open source. L’écosystème qui l’accompagne, notamment les
systèmes de base de données non relationnelle comme HBase, le système de fichiers
distribués HDFS, les langages de transformation et de requêtage Pig et Hive
✓ Une nouvelle classe de système de gestion de base de données non relationnelle a émergé
pour faire face aux nouvelles exigences de montée en charge et de disponibilité. On désigne
habituellement ces systèmes au moyen du sigle NoSQL.
Les fondements Les origines du Big Data
du Big Data
Quelques exemples
Ne relèvent pas du Big Data Relèvent du Big Data
Un volume de données que l’on peut traiter au moyen d’une fiche ✓Les volumes de données qu’il n’est pas possible de stocker ou de traiter
Excel. avec les technologies traditionnelles que les SGBDR ou pour lesquelles le
Des données que l’on peut héberger dans un seul nœud d’une base coût d’un tel traitement serait prohibitif
de données relationnelle. ✓Les données de logs transactionnelles d’un site web d’une grande
Les données qui sont chères à produire telles que celles qui sont entreprise de distribution.
collectées par sondage ou par recensement ou produite par un ✓ Le trafic d’un gros site web.
organisme. ✓Les données de localisation GSM d’un opérateur téléphonique sur une
Les données publiques librement disponibles au téléchargement. journée.
✓Les données boursières échangées quotidiennement sur une grande place
financière.
Les fondements Le Big Data dans les organisations
du Big Data
3V Big Data
3V Big Data
Le terme Big Data se réfère:
• Aux solutions hardware et software développées pour la gestion Des données plus variées, arrivant dans des volumes
de données volumineuses. croissants et à une vitesse plus élevée.
• A la branche de l’informatique qui étudie les solutions de gestion
[Link]
de données volumineuses.
Les fondements Le Big Data dans les organisations
du Big Data
3V Big Data
• Le prix de stockage des données a beaucoup diminué ces
dernières années:
▪ 1980: Apple $ 14 millions pat To.
▪ 2010: Barracoda $70 par To Comment déterminer les
• SAN (Storage Area Network) ou réseaux de stockage peuvent données qui méritent
d’être stockées?
être très coûteux:
► Choisir de ne stocker que certaines données, jugées
▪ Transactions?
sensibles.
▪ Logs?
Volume ► Perte de données, pouvant être très utiles, comme les ▪ Métier?
logs. ▪ Utilisateur?
▪ Capteurs?
▪ Médicales?
▪ Sociales?
Les fondements Le Big Data dans les organisations
du Big Data
3V Big Data
✓ Aucune donnée n’est
inutile.
✓ Certaines n’ont juste pas
encore servi.
Comment déterminer les
données qui méritent
d’être stockées?
• Problèmes
• Comment stocker les données dans un ▪ Transactions?
endroit fiable, qui soit moins cher? ▪ Logs?
Volume • Comment parcourir ces données et en ▪ Métier?
extraire des informations facilement et ▪ Utilisateur?
rapidement? ▪ Capteurs?
▪ Médicales?
▪ Sociales?
Les fondements Le Big Data dans les organisations
du Big Data
3V Big Data
• L’une des grandes ambitions du Big Data est de:
▪ Proposer le recoupement d’informations, ou
▪ Mise en correspondance de données d’origines très
diverses. • Pour un stockage dans des bases de
• Il n’existe à l’heure actuelle aucune méthode universelle. données ou dans des entrepôts de
sources et de formats variés demandent une étude • La plupart des données existantes sont
3V Big Data
On veut tout
stocker !
• Pour une discussion dans un centre d’appel:
▪ On peut la stocker sous forme textuelle pour
son contenu
▪ comme on peut stocker l’enregistrement en
entier, pour interpréter le ton de voix du
client.
Variété
Les fondements Le Big Data dans les organisations
du Big Data
3V Big Data
Obsolètes! mais utiles
• Certaines données peuvent paraître obsolètes, mais sont
utiles pour certaines décisions:
▪ Pour le transport de marchandise, on a tendance à
choisir le camion le plus proche. Mais parfois, ce
n’est pas la meilleure solution.
▪ Données GPS, Plan de livraison du camion,
Circulation, Chargement du camion, Niveau
d’essence.
Variété
Les fondements Le Big Data dans les organisations
du Big Data
3V Big Data
Pour faire face
• Diversité de structures: certains systèmes NoSQL
utilisent des schémas de données qui s’écartent du
modèle relationnel classique.
• Les bases orientées graphes ou les bases
orientées colonnes sont des exemples..
• Diversité des formats de données fera
typiquement partie de la phase de préparation des
données.
Variété
Les fondements Le Big Data dans les organisations
du Big Data
3V Big Data
• La vélocité ou vitesse de circulation des données a
Au service des
connu une évolution similaire à celle du volume au
clients
sein des entreprises.:
✓ Tenir compte en temps réel des souhaits exprimés par
▪ Rapidité d’arrivée des données.
un client et de l’état de disponibilité du stock pour
▪ Vitesse de traitement.
fournir le meilleur service possible:
▪ Les données doivent être stockées à l’arrivée,
▪ Il ne suffit pas de savoir quel article un client a
parfois même des Teraoctets par jour.
acheté ou réservé.
▪ Sinon, risque de perte d’informations.
▪ Si on sait que vous avez passé plus de 5mn à
• Un avantage concurrentiel fondamental qui permet
consulter un article dans une boutique d’achat en
chaque jour de prendre une longueur d’avance dans la
ligne, il est possible de vous envoyer un email
Vitesse décision, source de gains financiers.
dès que cet article est soldé.
Les fondements Le Big Data dans les organisations
du Big Data
3V Big Data
• La vélocité ou vitesse de circulation des données a
connu une évolution similaire à celle du volume au
sein des entreprises.: Au service des
▪ Rapidité d’arrivée des données. clients
▪ Vitesse de traitement. ✓ On pourra utiliser des données de géolocalisation pour
▪ Les données doivent être stockées à l’arrivée, guider un client vers un magasin moins exposé aux
parfois même des Teraoctets par jour. problèmes de circulation ou pour lui offrir des services de
5V Big Data
25 pétaoctets/jour @Google
20h uploadé/min @Youtube
[…]
Médias sociaux, internet
des objets, 2.9M emails/sec
Documents non structurés 72.9 achats/sec @Amazon
Vidéos et voix Volume 50M tweets/jour
[…] […]
Variété Vitesse
Statistiques, Évènements
Confiance, Authenticité
Corrélations,
Origine, réputation
Disponibilité Véracité Valeur Hypothétiques
[…]
Responsabilité
[…]
5V Big Data
Problèmes
• La véracité (ou validité) des données correspond à
► Avec l’augmentation de la quantité, la
la fiabilité et l’exactitude des données, et la
qualité et précision se perdent
confiance que ces Big Data inspirent aux (abréviations, déformations, source peu
décideurs. fiable…)
• Si les utilisateurs de ces données doutent de leur ► Les solutions Big Data doivent remédier
à cela en se référant au volume des
qualité ou de leur pertinence, il devient difficile d’y
données existantes
investir davantage.
Véracité
Les fondements Le Big Data dans les organisations
du Big Data
5V Big Data
Problèmes ✓ Nécessité d’une (très) grande rigueur dans
l’organisation de la collecte et le
5V Big Data
25 pétaoctets/jour @Google
20h uploadé/min @Youtube
[…]
Médias sociaux, internet
des objets, 2.9M emails/sec
Documents non structurés 72.9 achats/sec @Amazon
Vidéos et voix Volume 50M tweets/jour
[…] […]
Variété Vitesse
Statistiques, Évènements
Confiance, Authenticité
Corrélations,
Origine, réputation
Disponibilité Véracité Valeur Hypothétiques
[…]
Responsabilité
[…]
5V Big Data
• Ce dernier V joue un rôle primordial dans les Big Data,
• Il faut transformer toutes les données en valeurs exploitables: les données
sans valeur sont inutiles.
• La valeur du Big Data provient généralement de la découverte
d’informations et de la reconnaissance de modèles qui conduisent à des
opérations plus efficaces, à des relations plus solides avec les clients et à
d'autres avantages commerciaux clairs et quantifiables.
• La démarche Big Data n’a de sens que pour atteindre des objectifs
stratégiques de création de valeur pour les clients et pour les entreprises
Valeur dans tous les domaines.
Les fondements Le Big Data dans les organisations
du Big Data
5V Big Data
25 pétaoctets/jour @Google
20h uploadé/min @Youtube
[…]
Médias sociaux, internet
des objets, 2.9M emails/sec
Documents non structurés 72.9 achats/sec @Amazon
Vidéos et voix Volume 50M tweets/jour
[…] […]
Variété Vitesse
Statistiques, Évènements
Confiance, Authenticité
Corrélations,
Origine, réputation
Disponibilité Véracité Valeur Hypothétiques
[…]
Responsabilité
[…]
p
Compagnies
Education aériennes
Gouvernement Fast-Food
Santé Agriculture
Education
• L'industrie de l'éducation est inondée de quantités massives de données.
• Les données sont généralement liées aux étudiants, au corps professoral, aux cours,
aux résultats, et ainsi de suite.
• Les bonnes informations sur ces données peuvent être utilisées pour améliorer
l'efficacité opérationnelle et le fonctionnement des établissements d'enseignement.
• L'apprentissage en ligne apporte une telle révolution dans le système éducatif.
L'apprentissage en ligne est une plateforme systématique et correctement gérée pour
l'éducation.
40
Les fondements Big Data Applications
du Big Data
Education
41
Les fondements Big Data Applications
du Big Data
Education
Programmes d'apprentissage
personnalisés et dynamiques
► Des programmes d'apprentissage personnalisés peuvent
être développés en fonction de chaque étudiant.
► Cela peut être réalisé en analysant les données de
l'historique d'apprentissage de chaque étudiant. Cela
contribuerait à améliorer les résultats globaux des
étudiants.
42
Les fondements Big Data Applications
du Big Data
Education
Prévision de carrière
► L'analyse et l'étude appropriées du dossier de chaque
élève sont maintenues de manière adéquate.
► Cela permettra de comprendre les progrès de chaque
élève, ses faiblesses, ses points forts, ses centres
d'intérêt, etc.
► Cela permet également de décider de la carrière qui
conviendrait à l'élève dans le futur.
43
Les fondements Big Data Applications
du Big Data
Gouvernement
• Le secteur gouvernemental doit généralement traiter de vastes quantités de données presque
quotidiennement.
• Ils gardent généralement une trace de divers enregistrements et bases de données des villes,
des États, de la croissance, des ressources énergétiques, des enquêtes géographiques, etc.
• Les big data aident à l'analyse et à l'étude appropriées de ces données.
• Il aide le gouvernement de nombreuses manières.
Santé
• Les données massives contribuent beaucoup au secteur de la santé.
• En grande partie, elles réduisent les coûts d'un traitement car il y a moins de chances de devoir
effectuer des diagnostics inutiles..
• Il aide le gouvernement de nombreuses manières.
✓Aider à détecter les maladies en les identifiant aux premiers stades. Cela
empêche la maladie de s'aggraver. Cela rend le traitement plus facile et plus
efficace.
✓Aider à prédire l'apparition d'une épidémie et à détecter les mesures préventives
à prendre pour minimiser les effets de celle-ci.
✓Contribuer à la recherche sur les résultats médicaux antérieurs afin que les
patients puissent bénéficier de meilleurs services et médicaments.
47
Les fondements Big Data Applications
du Big Data
Régime Climatique
• Les capteurs météorologiques et les satellites sont déployés partout dans le monde.
• Enormes quantités de données sont collectées à partir de ces capteurs.
• Ces données sont utilisées pour surveiller la météo et les conditions environnementales.
• Toutes les données collectées contribuent aux Big data et peuvent être utilisées de différentes
manières, telles que :
49
Les fondements Big Data Applications
du Big Data
Banques
• Le fonctionnement de toute organisation financière dépend fortement de ses données.
• Protéger ces données est l'un des défis les plus difficiles auxquels une entreprise financière est confrontée.
• Après l'argent, les données sont le deuxième bien le plus important pour elles.
• Pour les banques, cela signifie qu'elles peuvent appliquer en temps réel les résultats de l'analyse des big data
et prendre des décisions commerciales en conséquence.
• Cela peut être appliqué aux activités suivantes :
51
Les fondements Big Data Applications
du Big Data
Banques
Gestion et prévention des fraudes.
Évaluation des risques,
conformité et rapports.
STEP 5
Vente croisée de
produits basée sur la
segmentation des STEP 9
clients STEP 4
STEP 8
STEP 3
habitudes de
dépenses des Identifier les principaux canaux de transactions
clients. (retraits aux distributeurs automatiques,
paiements par carte de crédit/débit). 52
Les fondements Big Data Applications
du Big Data
Banques
Habitudes de dépenses des clients
► Les banques ont un accès direct à une mine de données historiques
concernant les habitudes de dépenses des clients.
► Elles savent combien d'argent vous avez été payé en salaire chaque mois
donné, combien est allé dans votre compte d'épargne, combien est allé à vos
fournisseurs d'électricité, etc.
► La banque peut comprendre si le salaire du client augmente régulièrement et
si les dépenses restent adéquates.
► Il s'agit de l'un des facteurs fondamentaux pour l'évaluation des risques, la
sélection des prêts, l'évaluation des hypothèques et la vente croisée de
plusieurs produits financiers comme l'assurance.
Les fondements Big Data Applications
du Big Data
Banques
Identification des canaux de transaction
Banques
Segmentation et profilage des clients
► Une fois que l'analyse initiale des habitudes de dépenses des clients et des
canaux de transaction préférés est terminée,
► La base de clients peut être segmentée en fonction de plusieurs profils
appropriés.
► Connaître le profil financier de tous les clients permet à la banque:
► Evaluer les dépenses et les revenus prévus pour le mois suivant,
► Elaborer des plans détaillés pour garantir les résultats et maximiser les
revenus.
Les fondements Big Data Applications
du Big Data
Banques
Vente croisée de produits
Banques
Gestion et prévention de la fraude
Banques
Évaluation des risques, conformité
et rapports
► Une procédure similaire peut être utilisée pour l'évaluation des risques lors
de la négociation d'actions ou lors du screening d'un candidat pour un prêt.
► Comprendre les habitudes de dépenses et l'historique de crédit précédent
d'un client peut aider à évaluer rapidement les risques liés à l'octroi d'un prêt.
► Les algorithmes de Big Data peuvent également aider à traiter les problèmes
de conformité, d'audit afin de rationaliser les opérations et de supprimer les
frais de gestion.
Les fondements Big Data Applications
du Big Data
Banques
Analyse et application des feedbacks
des clients
► Le client peut faire part de ses commentaires après avoir traité avec le centre
d'assistance à la clientèle ou par le biais d'un formulaire de commentaires.
► Il est beaucoup plus susceptible de partager son opinion par l'intermédiaire
des médias sociaux.
► Les outils Big Data peuvent filtrer ces données publiques et rassembler
toutes les mentions de la marque de la banque afin de pouvoir répondre
rapidement et adéquatement.
► Lorsque les clients constatent que la banque entend et valorise leur opinion
et apporte les améliorations qu'ils demandent, leur loyauté et leur
attachement à la marque augmentent considérablement.
Les fondements Big Data Applications
du Big Data
Agriculture
• Pour faire face aux pressions liées à l'augmentation de la demande alimentaire et aux
changements climatiques, les décideurs politiques et les chefs d'entreprise recherchent l'aide des
puissances technologiques telles que l’IoT, le Big data, l'analyse et le Cloud computing.
• Les dispositifs IoT contribuent à la première phase de ce processus: la collecte de données. Les
capteurs installés dans les tracteurs et les camions, ainsi que dans les champs, les sols et les
plantes, facilitent la collecte de données en temps réel, directement à partir du site.
• Ensuite, les analystes intègrent les grandes quantités de données collectées avec d'autres
informations disponibles dans le cloud, telles que les données météorologiques et les modèles
de tarification pour déterminer les modèles.
• Enfin, ces modèles et informations aident à contrôler le problème:
► Aider à cibler les problèmes existants, tels que les inefficacités opérationnelles et les
problèmes de qualité du sol,
► Formuler des algorithmes prédictifs qui peuvent alerter même avant qu'un problème ne
survienne. 61
Les fondements Big Data Applications
du Big Data
Agriculture
Nourrir une population croissante
► C'est l'un des défis majeurs pour lequel même les gouvernements
unissent leurs forces pour trouver une solution.
► Une façon d'y parvenir est d'augmenter le rendement des terres
agricoles existantes.
► Big Data fournissent aux agriculteurs des données détaillées sur les
schémas de pluie, les cycles de l'eau, les besoins en engrais, et plus
encore.
► Cela leur permet de prendre des décisions intelligentes, telles que:
► Quelles cultures planter pour une meilleure rentabilité et quand
récolter.
► Les bonnes décisions améliorent finalement les rendements agricoles.
62
Les fondements Big Data Applications
du Big Data
Agriculture
Big data joue un rôle important dans l'amélioration des performances du secteur agricole.
✓L'objectif principal est de minimiser les pertes et d'augmenter la production des céréales alimentaires
nécessaires.
✓Le big data a beaucoup aidé à introduire les méthodes numériques et révolutionnaires dans les
traditions agricoles existantes.
Nourrir une Utilisation éthique
population croissante des pesticides
d'approvisionnement
Les fondements Big Data Applications
du Big Data
Agriculture
Utilisation éthique des pesticides
► L'administration de pesticides a été un sujet controversé en raison de
ses effets secondaires sur l'écosystème.
► Les données massives permettent aux agriculteurs de mieux gérer
cela en recommandant quels pesticides appliquer, quand, et en quelle
quantité.
► En le surveillant de près, les agriculteurs peuvent se conformer aux
réglementations gouvernementales et éviter une surutilisation de
produits chimiques dans la production alimentaire.
► De plus, cela conduit à une rentabilité accrue car les cultures ne sont
pas détruites par les mauvaises herbes et les insectes.
64
Les fondements Big Data Applications
du Big Data
Agriculture
Big data joue un rôle important dans l'amélioration des performances du secteur agricole.
✓L'objectif principal est de minimiser les pertes et d'augmenter la production des céréales alimentaires
nécessaires.
✓Le big data a beaucoup aidé à introduire les méthodes numériques et révolutionnaires dans les
traditions agricoles existantes.
Nourrir une Utilisation éthique
population croissante des pesticides
d'approvisionnement
Les fondements Big Data Applications
du Big Data
Agriculture
Agriculture
Big data joue un rôle important dans l'amélioration des performances du secteur agricole.
✓L'objectif principal est de minimiser les pertes et d'augmenter la production des céréales alimentaires
nécessaires.
✓Le big data a beaucoup aidé à introduire les méthodes numériques et révolutionnaires dans les
traditions agricoles existantes.
Nourrir une Utilisation éthique
population croissante des pesticides
d'approvisionnement
Les fondements Big Data Applications
du Big Data
Agriculture
► Un tiers des aliments produits pour la consommation humaine sont
perdus ou gaspillés chaque année.
► Un fait désastreux puisque l'industrie agricole peine à combler le fossé
entre l'offre et la demande.
► Pour remédier à cela, les cycles de livraison alimentaire du producteur
au marché doivent être réduits.
► Le big data peut aider à atteindre des efficacités dans la chaîne
d'approvisionnement en suivant et en optimisant les itinéraires des
camions de livraison.
Fast-Food
• Nul doute que le fast-food est le choix alimentaire le plus populaire au monde.
• De nombreuses entreprises de restauration rapide renommées telles que McDonald's, Pizza Hut et
KFC, etc.,
• Ces entreprises utilisent le Big Data comme outil stratégique pour maintenir leur position dominante.
• Parmi les principales applications du Big Data dans l'industrie du fast-food, on peut citer :
Compagnies aériennes
• Le Big Data trouve des applications particulièrement avantageuses dans le secteur du transport
aérien, en fournissant des données opérationnelles à la minute près.
• Il permet aux compagnies aériennes de collecter des informations sur le service à la clientèle, les
prévisions météorologiques, la billetterie, etc.,
• Prendre des décisions éclairées pour améliorer la satisfaction client et répondre à la demande.
• Voici quelques exemples des meilleures utilisations du Big Data dans l'industrie du transport aérien:
72
Les fondements Big Data Applications
du Big Data
E-commerce
• Le commerce électronique, bien qu'il profite des avantages du fonctionnement en ligne, rencontre
également de nombreux défis pour atteindre ses objectifs commerciaux.
• Le Big Data dans ce secteur offre un avantage concurrentiel en fournissant des insights et des rapports
analytiques.
• Examinons maintenant certains avantages supplémentaires du Big Data dans le commerce électronique :
✓Collecte des données et des exigences clients avant même le lancement officiel.
✓Identification facile des produits les plus consultés et des pages les plus visitées,
favorisant l'amélioration continue de l'activité e-commerce.
✓Évaluation du comportement client et suggestion de produits en fonction de leurs
intérêts, permettant d'augmenter les ventes et de générer des revenus.
✓Génération de rapports basés sur l'âge, le sexe, la localisation, etc. des visiteurs
grâce aux applications Big Data.
74
Les fondements Le mouvement NoSQL
du Big Data
Bases relationnelles
• Le modèle relationnel, apparu dans les années 1980, est régi par des règles
précises, énoncées par Codd (IBM) en 1985:
✓Fondé sur une série de théorèmes qui décrivent une structure
mathématique appelée algèbre des relations. Select Project
✓Les principaux éléments de cette algèbre ne sont autres que les
opérations bien connues des informaticiens, la sélection, la projection,
l’agrégation, l’union, la jointure, etc.
Bases relationnelles
• Le modèle relationnel utilise un langage déclaratif qui lui permet de spécifier SELECT DISTINCT [Link] FROM Clients c
la réponse qu’il cherche plutôt que la manière d’effectuer cette recherche WHERE Pays=‘Algérie'
• C’est le rôle du langage SQL devenu depuis lors un quasi standard dans AND City=‘Khenchela'
l’industrie informatique.
Propriétés ACID
• Les exigences qui caractérisent une transaction SGBDR sont
définies par le célèbre acronyme ACID:
A
ATOMACITY
C
CONSISTENCY
I
ISOLATION
D
DURABILITY
• Les transactions ACID garantissent un degré maximal de fiabilité et d'intégrité des données.
• Grâce à cela, vos données ne risquent jamais de se trouver dans un état incohérent parce qu'une opération
n'a pas entièrement abouti.
• Par exemple, sans les transactions ACID, si vous écrivez des données dans une table et qu'une coupure de
courant se produit, il se peut qu'une partie seulement de vos données soit enregistrée.
• Votre base de données se retrouve alors dans un état incohérent qu'il sera très difficile – et très long – à
rectifier.
Les fondements Le mouvement NoSQL
du Big Data
Propriétés ACID
Atomicité Isolation
désigne le caractère indivisible d’une transaction évoqué
A
deux transactions simultanées A et B n’interfèrent jamais.
précédemment. Soit toutes les instructions sont exécutées,
ne soit aucune.
ATOMACITY
I
ISOLATION
La transaction B ne peut ni voir ni modifier les données
sur lesquelles A opère tant que A n’a pas été validé.
Cohérence
désigne l’objectif même des transactions, à savoir laisser
C
CONSISTENCY
D
DURABILITY
Durabilité
une fois une transaction validée, les données doivent
les données dans un état cohérent:
être permanentes.
► Toute transaction amène la BD d’un état valide à
un autre.
► Ceci est renforcée par les contraintes d’intégrité
et les clés étrangères
Les fondements Le mouvement NoSQL
du Big Data
✓Pour une entreprise comme Amazon, par exemple, une plateforme indisponible, ne
serait-ce que quelques minutes, est inenvisageable car elle causerait la perte de
dizaine de milliers de commandes.
✓Priorité absolue est donc donnée aux performances et à la disponibilité.
► Celles-ci sont assurées aujourd’hui par la mise en oeuvre d’architectures
distribuées sur des centaines voir des milliers de machines.
✓Dans un tel contexte, parvenir à parfaite intégrité des données et une stricte isolation
des transactions est extrêmement difficile et coûteux.
80
Les fondements Le mouvement NoSQL
du Big Data
81
Les fondements Le mouvement NoSQL
du Big Data
• Un même article a-t-il été commandé sur Amazon par du préjudice subi.
plusieurs clients à qui l’on a indiqué qu’il était disponible ► Quant au surbooking pour des billets d’avion ou des chambres
alors qu’il ne restait plus qu’un exemplaire ? d’hôtel, on peut imaginer des partenariats avec d’autres
• Une même chambre a-t-elle été réservée par deux clients compagnies aériennes ou un quota de chambres réservé pour
82
Les fondements Le mouvement NoSQL
du Big Data
Propriétés BASE
Un nouvel acronyme, a été forgé pour caractériser ces systèmes :
BASE pour Basically Available Soft State Eventual Consistency.
► Plutôt que d'imposer une cohérence ► L’état du système peut changer dans le temps, même
immédiate, les systèmes garantissent la sans nouvelles entrées, et ce à cause du principe de
disponibilité des données en les répartissant consistance éventuelle.
et en les répliquant à travers les nœuds du
Soft State
BASE
cluster de la base de données.
Basically
Available
Eventually consistent
► Les modifications arriveront éventuellement à tous les
serveurs, si on leur donne suffisamment de temps.
Les fondements Le mouvement NoSQL
du Big Data
Théorème CAP
► Même si les termes de disponibilité et de cohérence n’ont
pas été définis avec une grande rigueur, la discussion qui
précède suggère qu’il est possible de choisir, selon les Consistency
circonstances, entre ces deux caractéristiques.
► Lorsqu’un système est distribué, il convient de prendre en
compte une troisième caractéristique: la tolérance aux Partition
partitions accidentelles.
Availability Tolerance
Le théorème « CAP »
Les fondements Le mouvement NoSQL
du Big Data
Consistency
Partition
Availability Tolerance
Le théorème « CAP »
Les fondements Le mouvement NoSQL
du Big Data
Théorème CAP
Consistency
Disponibilité
▪ L’application est accessible à tout instant, Availability Partition
▪ Chaque requête reçoit une réponse qui confirme Tolerance
si elle a été traitée avec succès ou non.
Le théorème « CAP »
Les fondements Le mouvement NoSQL
du Big Data
Théorème CAP
Consistency
Availability
Partition Tolérance au morcellement
Tolerance ▪ Les données peuvent être partitionnées sur différents
supports sans souci de localisation.
▪ Les activités continuent sans interruption lors de la
modification du système (en cas d’ajout ou suppression
Le théorème « CAP » de nœuds) et en cas de chute du réseau.
Les fondements Le mouvement NoSQL
du Big Data
Théorème CAP
Peut-on satisfaire les 3 propriétés CAP
en même temps?
► Soit un système distribué.
► On est en train de modifier une donnée sur le nœud N1 et d’essayer de la lire à
partir du nœud N2:
▪ N2 peut retourner la dernière bonne valeur dont il dispose, ce qui viole la Cohérence
▪ N2 attend que la nouvelle valeur lui parvienne. Comme c’est un système distribué, les
chances d’un échec de transmission sont assez importantes, ce qui provoquera une attente
infinie de N2. D’où une violation de la Disponibilité
▪ Si on veut satisfaire à la fois la consistance et la disponibilité, le système de stockage ne doit
pas être partitionné. D’où violation de la Tolérance au morcellement
88
Les fondements Le mouvement NoSQL
du Big Data
▪ Distribuer les traitements et le stockage sur des centaines voire des milliers de nœuds
constitués de serveurs banalisés.
▪ Donner la priorité aux performances et à la disponibilité sur l’intégrité des données.
▪ Traiter efficacement les données non structurées ou seulement partiellement structurées.
89
Les fondements Le mouvement NoSQL
du Big Data
1. Ces systèmes sont le plus souvent clusterisables et permettent une montée en charge approximativement linéaire.
En d’autres termes, un doublement du nombre de serveurs permet de traiter deux fois plus de requêtes dans un
même laps de temps.
2. Ils sont en règle générale dépourvus de schémas, ils permettent une grande rapidité de développement
précisément à cause de cette simplicité. De ce fait ils sont particulièrement adaptés aux méthodes de
développement des données non structurées.
3. Ils sont souvent dépourvus de transactions au sens habituel du terme, ou alors proposent des transactions qui
garantissent seulement l’intégrité de certains agrégats de données.
4. Ils sont non relationnels dans le sens où ils n’offrent pas de jointures.
5. Beaucoup de ces systèmes sont aujourd’hui proposés en open source.
90
Les fondements Le mouvement NoSQL
du Big Data
91
Les fondements Le mouvement NoSQL
du Big Data
ENTREPÔTS CLÉ-VALEUR
Concepts
• Un entrepôt clé-valeur (ECV) peut être envisagé comme une collection de Clés Valeurs
tables de hachage persistantes:
sk07kjh savon
✓Une collection de couples clé-valeur persistées sur disque.
• La valeur en question peut être un morceau d’information (un blob) sans
fds96eu Brosse à dent
aucune structure a priori, Il peut s’agit :
► d’un nombre,
iep29kl rasoir
► d’un fichier XML,
► d’une vidéo,
► d’une collection d’objets sérialisés ou encore
Exemple d’ ECV
► d’un fichier texte sans structure particulière.
92
Les fondements Le mouvement NoSQL
du Big Data
ENTREPÔTS CLÉ-VALEUR
Concepts
• Les opérations que l’on peut effectuer sur un tel entrepôt sont: Clés Valeurs
► La récupération de la valeur pour une clé donnée,
sk07kjh savon
► La mise à jour,
► La création ou la suppression d’une valeur.
fds96eu Brosse à dent
• Pour une certaine clé. La base ne « connaît » pas la structure des données,
charge étant à l’application cliente d’interpréter le contenu des valeurs.
iep29kl rasoir
• La contrepartie d’une telle rusticité qui n’autorise l’accès aux données que par
le biais d’une clé primaire est la performance de ces systèmes.
Exemple d’ ECV
93
Les fondements Le mouvement NoSQL
du Big Data
ENTREPÔTS CLÉ-VALEUR
Usage
• Données de session utilisateur.
• Préférences ou des profils des utilisateurs.
• Les associations entre clients et paniers d’achat des
sites d’e-commerce.
Implémentations
94
Les fondements Le mouvement NoSQL
du Big Data
ENTREPÔTS CLÉ-VALEUR
Intérêts
• Des performances exceptionnellement élevées en Limites
lecture et en écriture.
• Scalabilité horizontale considérable..
• Peu de possibilités de requêtage : uniquement sur les
clés..
• Pas de maintenance en cas d’évolution de nouveaux
• Le système n'ayant pas d'indice sur la structure de
types d’informations.
l'information qu'il stocke, tous les traitements (extraction
du contenu, application de filtres…) doivent être effectués
par le client.
95
Les fondements Le mouvement NoSQL
du Big Data
<?xml version="1.0" encoding="utf-8"?>
BASES DE DONNÉES <Root>
<Client ClientID=123>
ORIENTÉES DOCUMENTS …
<Tel>(+33)61 23 45 67</Tel>
<AddresseComplete>
BASES DE DONNÉES
ORIENTÉES DOCUMENTS
Concepts
BDOD SGBDR
• Les BDOD offrent par ailleurs la possibilité d’examiner le Base de données Schéma
contenu d’un document sans qu’il soit nécessaire pour autant
de le récupérer en intégralité. Collection (de documents) Table
98
Les fondements Le mouvement NoSQL
du Big Data
BASES DE DONNÉES
ORIENTÉES DOCUMENTS
Usage Implémentations
• Les applications d’e-commerce dont les produits varient
trop souvent pour être décrits au moyen d’un schéma
stable, bénéficieront de l’usage d’une BDOD.
• Les applications qui manipulent naturellement des
documents comme les systèmes de gestion de
contenu ou les plateformes de blogs pourront elles
aussi utiliser avec profit une BDOD.
• Les systèmes de logs qui, par définition, ont à stocker
des associations entre des évènements et des
contenus sans structure prédéfinie.
99
Les fondements Le mouvement NoSQL
du Big Data
BASES DE DONNÉES
ORIENTÉES DOCUMENTS
Intérêts
• Capacité à effectuer des requêtes sur le contenu des objets.
Limites
• Modèle de données simple mais puissant.
• Scalabilité • Inadaptée pour les données interconnectées.
• Pas de maintenance de la BD requise pour ajouter/supprimer • Lent pour les grandes requêtes.
des «colonnes».
• Un document pourra être sauvegardé et chargé sans aucun
traitement de jointure.
100
Les fondements Le mouvement NoSQL
du Big Data
BASES DE DONNÉES
Colonnes statiques
ORIENTÉES COLONNES
Concepts
ID: 001 Prénom: Albert Nb commandes: 28 Est abonné: O
• Une BDOC est un ECV dont les valeurs possèdent une structure ID: 002 Prénom: Isaac Nb commandes: 3 Est abonné: N
bien particulière.
• Les noms de colonnes dans cette structure peuvent être:
ID: 003 Prénom: Erwin Nb commandes: 17 Est abonné: N
► Statiques: ils sont alors partagés par tous les enregistrements Colonnes dynamiques
d’une collection de colonnes,
► Dynamiques: c’est-à-dire qu’ils peuvent varier d’un
ID: 001 Prénom: Albert Physique: 1921
enregistrement à l’autre au sein d’une telle collection.
ID: 002 Prénom: Witten Physique: 2008 Mathématique: 1990
BASES DE DONNÉES
ORIENTÉES COLONNES
Concepts
• La possibilité d’avoir des colonnes dynamiques permet d’avoir des
enregistrements avec colonnes différentes en type et en nombre,
chose impossible dans un SGBDR.
• La possibilité de regrouper entre elles des colonnes contenant des
données sémantiquement liées:
► Par exemple, l’enregistrement d’un client contiendra toutes ses
commandes.
► Ces regroupements s’appellent des super-colonnes.
► Elles aussi peuvent à leur tour être statiques ou dynamiques.
103
Les fondements Le mouvement NoSQL
du Big Data
BASES DE DONNÉES
ORIENTÉES COLONNES
4 colonnes statiques
104
Les fondements Le mouvement NoSQL
du Big Data
BASES DE DONNÉES
ORIENTÉES COLONNES
BASES DE DONNÉES
ORIENTÉES COLONNES
stocker, par exemple, des Nom Pseudo Texte Date Texte Date
002
Ali
Ahmed
Ali2018
Hm33A
Blaaablaa de
Ali n°1
Blaaablaa
31/03/2020
11/04/2021
Blaaablaa de
Ali n°2
Blaaablaa
01/03/2021
31/01/2023
…
d’Ahmed n°1 d’Ahmed n°2
003 Omar Omar22 Blaaablaa 21/07/2019 Blaaablaa 25/07/2019
d’Omar n°1 d’Omar n°2
Colonnes statiques
106
Les fondements Le mouvement NoSQL
du Big Data
BASES DE DONNÉES
ORIENTÉES COLONNES
des nombres de visites d’un site web, 001 Ali Ali2018 [Link] [Link]
•
classés par page dans le site.
Dans l’exemple, la première associe une 9
Produits
2
Contact
11
Catalogue
3
Annuaire
…
URL à une collection de pages du site visité,
la seconde associe une page à un nombre
de visites.
BASES DE DONNÉES
ORIENTÉES COLONNES
Usage Implémentations
• Stocker des rapports d’erreur issus de plusieurs
applications dont chacune pourra utiliser le groupe de
colonnes qui lui convient.
• Les blogs avec leurs publications, leurs liens, ainsi que
les commentaires associés.
• Les systèmes de comptage de nombre de visites.
108
Les fondements Le mouvement NoSQL
du Big Data
BASES DE DONNÉES
ORIENTÉES GRAPHES
Concepts
•
Speedy
aime
Dans de nombreuses situations comme les réseaux sociaux, il s’agit de relier des sont
Food
Ahmed
amis
entités par différentes relations, elles-mêmes dotées d’attributs et d’un sens de
Omar
situé à
navigation. sert
• Un SGBDR n’est bien adapté que pour décrire des relations simples, comme celles
qui lient un client à ses commandes, par exemple. sont Pizza
•
amis
Impossibilité pure et simple d’effectuer certaines opérations naturelles sur un graphe: Khenchela
La Boisée
répondre spécifiquement à cette catégorie de besoins.
Un exemple de graphe
► Elles permettent dans un premier temps de créer des nœuds puis,
qui relie des individus des services et des lieux géographiques
► Créer des associations entre eux et de les modifier par la suite. 110
Les fondements Le mouvement NoSQL
du Big Data
BASES DE DONNÉES
ORIENTÉES GRAPHES
Usage Implémentations
• A priori tous les domaines métiers qui s’expriment naturellement
à l’aide de graphes sont éligibles à l’utilisation d’une BDOG.
• Ils sont particulièrement utiles dans les situations où différentes
catégories de liens expriment des appartenances à certains
groupes sociaux ou géographiques.
• Tous les systèmes de recommandation ou de détection de fraude
qui ont à tenir compte d’une certaine proximité, géographique,
sociale ou autre pourront tirer profit d’un BDOG.
111