Big Data effet de mode ou vrai utilité? On entend de plus en plus parler de Big Data, qui devrai bouleverser notre vie de tous les jours. On génere, avec internet, de plus en plus de quantités extraordinaires de données, qu'en fait-on? Forbes le classe parmi les 10 "technologies" qui devront marquer 2014! Mais qu'est-ce que c'est? Comment le mettre en oeuvre?
2. Big Data : mode ou révolution?
Sommaire
• Introduction
• About the speaker
•Big Data (pourquoi)?
•Un cas d’exemple
•De plus en plus de données
•Big Data (Comment)?
• Les solutions
• NoSql
• Hadoop
• MongoDB
• ElasticSearch
•Cloud
•Pourquoi?
•Comment?
•Les types de Cloud
•Questions/Réponse
www.baamtu.com
3. Big Data : mode ou révolution?
QUI SOMMES-NOUS?
www.baamtu.com
4. Big Data : mode ou révolution?
•
•
•
•
Qui sommes-nous?
Technopreneur (Baamtu et daluway.com)
Docteur ingénieur – 10 ans d’expé
Spécialiste JEE, moteur de règles et HA
Baamtu : Une startup sénégalaise
• Créée en 2009 par de jeunes sénégalais
• Editeur de logiciels et intégrateur de solutions open source
• Forte expérience (Sénégal, France, Etats-unis)
• Savoir-faire reconnu :
• Commiteur dans OpenErp
• Meilleurs développeurs Androïd au Sénégal et en Afrique lors du
concours AAC 2013 sponsorisé par Google
• Notre équipe
• 6 personnes
• Travail de qualité
• Multi langages et multi plateformes
• Pour en savoir plus baamtu.com et daluway.com
www.baamtu.com
7. Qu’est ce que Andandor?
Qu’est ce que Andandor ?
• Andandor est une application de gestion de la relation client sur la
plateforme Android.
• Scénario de base: suivre une campagne marketing de près depuis son
téléphone.
• Andandor s’appuie sur l’ERP Openerp
www.baamtu.com
8. C’est quoi OpenERP ?
Progiciel de gestion intégrée pour entreprise,
distribuée sous licence libre (GPL) et qui répond de
manière efficace à la complexité et aux besoins
croissants des entreprises.
Largement répandu
Full Web
OpenSource
Couverture fonctionnelle
exceptionnelle
Déploiement
Un éditeur fort: Tiny
Rapide
Architecture
technique solide
Conception
modulaire
Solution ouverte
www.baamtu.com
9. C’est quoi OpenERP ?
Large couverture fonctionnelle
Gestion des
ventes
Gestion
documentaire
CRM/SRM
Gestion de stocks
Portail
Gestion de
production
Gestion
comptable et
Etats SYSCOHDA
financière
Gestion des achats
Gestion budget
Gestion de projets Gestion des
immobilisations
Points de vente
www.baamtu.com
10. C’est quoi OpenERP ?
Atouts de Openerp
• Pas de coût de licences
• Nombre d’utilisateurs illimité
• Nativement multi postes
•Conception modulaire
• Intégration et souplesse
www.baamtu.com
11. Les fonctionnalités de Andandor
Gérer toutes les données CRM
• Gestion des prospects
• Gestion des opportunités
• Gestion des contacts
•Gestion des appels
•Gestion des réunions
www.baamtu.com
12. Les spécificités de Andandor
Une expérience utilisateur agréable
• Fonctionnement en mode offline
•Gestion automatique des données ajoutées, modifiées
et supprimées sur votre serveur
•Synchronisation automatique avec le serveur grâce
au widget
www.baamtu.com
19. Big Data : mode ou révolution?
Ton appli (s)cale-telle?
www.baamtu.com
20. Big Data : mode ou révolution?
Cas d’exemple
• Votre boss vous demande de réaliser une application
d’analytique web :
• l’application doit tracer le nombre de pages vues pour tout URL fournie par
le client
• Comment? : A chaque page vue le client appel votre application avec l’URL
en question
• Votre application doit sortir des stats en temps réel.
• On doit aussi pouvoir dire à tout moment les top 100 des URLS trackées par
votre application.
•Comment allez-vous vous y prendre?
www.baamtu.com
21. Big Data : mode ou révolution?
Cas d’exemple (SGBDR)
www.baamtu.com
22. Big Data : mode ou révolution?
Cas d’exemple (SGBDR)
www.baamtu.com
23. Big Data : mode ou révolution?
Cas d’exemple (SGBDR)
• votre application remporte un succès extraordinaire!
Des millions de clients l’utilisent!
• Subitement, vos log commencent à remonter
« Timeout sur insertion en base de donnée »
•Ce message devient de plus en plus fréquent!
•Que faites-vous?
www.baamtu.com
24. Big Data : mode ou révolution?
Cas d’exemple (Scaler avec une queue)
www.baamtu.com
25. Big Data : mode ou révolution?
Cas d’exemple (JMS)
• votre application remporte un succès inespéré!
D’autres millions de clients l’utilisent!
•Vous avez encore « Timeout sur insertion en base de
donnée »
•Ce message devient de plus en plus fréquent!
• En regardant les log de vos serveurs, vous voyez que
votre BD ne tient pas la charge?
•Vous devez réagir rapidement car les clients
commencent à râler.
•Que faites-vous?
www.baamtu.com
26. Big Data : mode ou révolution?
Cas d’exemple (SGBDR)
• votre application devient de plus en plus populaire.
• Vos messaging queue travaillent de plus en plus
augmentant ainsi la charge de votre BD
• Vous avez rajouter des workers sur votre BD pour
paralléliser mais rien n’y fait!
•Clairement la BD et le SPOF!
•Que faites-vous à nouveau?
www.baamtu.com
27. Big Data : mode ou révolution?
Cas d’exemple (Scaler avec du sharding)
www.baamtu.com
28. Big Data : mode ou révolution?
Cas d’exemple (Scaler avec du sharding)
• Pour l’utilisation des shards il faut un mécanisme de
génération de clé de shard (hash % nb shard)
• Il vous faut un batch pour injecter les données de
votre ancienne base vers les nouveaux shards
• Un tel script prend du temps à faire (surtout
tester)
• Lors de sa mise en prod, on coupe l’accès de la base
à l’application.
•Il faut aussi modifier votre application pour utiliser
le framework de génération key pour savoir sur quel
shard écrire
• Vous devez aussi modifier votre requêtes de top
100 :
• Vous faites la requête sur chaque shard
• Vous faites le merge de toutes ces requêtes
www.baamtu.com
29. Big Data : mode ou révolution?
Cas d’exemple (Scaler avec du sharding)
• A chaque fois que le trafic aura sensiblement
augmenté sur votre application :
• Rajouter des shards
• Ecrire des scripts de migration
• Tester et déployer en mettant « off » votre application
• Revoir vos requêtes
•Et ce ci est très error-prone (pas de tolérance à la
panne)
• Que se passe-t-il lorsqu’un disque d’un de vos serveur BD crash?
www.baamtu.com
30. Big Data : mode ou révolution?
Cas d’exemple (Scaler avec du sharding + slave)
www.baamtu.com
31. Big Data : mode ou révolution?
Les problèmes l’approche traditionnelle
• votre application a commencé par une seule base de
donnée et a fini par une architecture complexe aves
plusieurs queues, shards, réplicas, et serveurs.
• L’architecture devient de moins en moins faulttolenrance
• La complexité est remontée au niveau application
(shard key et l’agrégation de requêtes top 100)
• Manque de tolérance à l’erreur humaine. On est de
plus en plus appelé à écrire des scripts de migration
• Quid de la corruption des données lors de la
migration?
• Le parc devenant plus grand, la maintenance devient
de plus en plus fastidieuse
•Le Big Data adresses tous ces problèmes de
scalabilité et de complexité
www.baamtu.com
32. Big Data : mode ou révolution?
L’ère du Data
www.baamtu.com
34. Big Data : mode ou révolution?
L’ère du Data
• Nous générons et traitons de plus en plus données
diversifiées
• Les utilisateurs créent des contenus :
• Blogs
• Tweets
• Interactions réseaux sociaux
• Photos
• VOIP
• Les serveurs enregistrent des logs sur tout ce qu’ils
font où on leur s fait faire.
• les scientifiques génèrent des mesures détaillées du
monde autour de nous.
www.baamtu.com
35. Big Data : mode ou révolution?
L’ère du Data
… 2000
• Google annonce qu’ils viennent de lancer le plus
grand moteur de recherche sur internet.
• Le nouvel index de Google est composé de plus de 1
Milliard de liens
• Enorme!!!
www.baamtu.com
36. Big Data : mode ou révolution?
L’ère du Data
… 2008
• Google annonce stocker un trillion (1 milliard de
millards) de liens uniques.
• Le nombre de page web augmente de plusieurs
milliards de pages par jours
• Enormissime!!!
www.baamtu.com
37. Big Data : mode ou révolution?
Un nombre
impressionnant de Data,
sans précédent, est en
train d’être créé et est
accessible
www.baamtu.com
38. Big Data : mode ou révolution?
L’ère du data : évolution des données
www.baamtu.com
39. Big Data : mode ou révolution?
L’ère du data : évolution des données
www.baamtu.com
40. Big Data : mode ou révolution?
L’ère du data : Grand aujourd’hui mais petit demain
www.baamtu.com
41. Big Data : mode ou révolution?
L’ère du data : évolution des données
www.baamtu.com
42. Big Data : mode ou révolution?
Quelques metrics!
• 2.7 Zetabytes de données existantes dans le monde digital
• Facebook stocke, accède et analyse plus de 30 Petabytes de
données générées pas des utilisateurs
• Walmart traites plus d’un million de transactions/heures
sotckées dans plus de 2,5 Petabytes de données
• Plus de 5 milliards de personnes appellent, sms, tweetent et
surfent sur depuis leur mobile
• Pour décoder le génome humain, il fallait 10 ans de traitement
maintenant cela se fait en 1 semaine.
•En 2008 Google traitait 20.000 Terabytes par jour Les users
Youtube upload 48h de nouvelles vidéos chaque minute chaque
jour
• 571 nouveaux sites créés par minute chaque jour
• Plus de 34722 likes sur facebook chaque minute chaque jour
• plus de 175 millions de tweets par jour pour plus de 465
millions de comptes twitter
• 30 milliards de bouts de contenu partagés sur facebook chaque
jour
www.baamtu.com
43. Big Data : mode ou révolution?
Nouveau paradigme
• Avec autant de données les systèmes de base de
données traditionnels sont poussés à leurs limites
• Pour relever les défis du Big Data, une nouvelle
race de technologies a émergée.
• Beaucoup de ces nouvelles technologies ont été
regroupées sous le terme «NoSQL».
• Ces technologies peuvent scaler rapidement pour
stocker et traiter de plus en plus de gros volumes de
données
www.baamtu.com
44. Big Data : mode ou révolution?
Big Data
www.baamtu.com
45. Big Data : mode ou révolution?
Big Data : une définition simple
• Le volume de données que nous utilisons, au jour le
jour, ne peut plus être stocké et traité par une seul
ordinateur.
• Big Data est une approche (méthodologie) qui répond
à 2 challenges fondamentaux :
• Comment stocker et traiter de grosses volumétries de données
• Et Surtout, comment exploiter et comprendre ces données afin d’en faire un
avantage
www.baamtu.com
46. Big Data : mode ou révolution?
Big Data : exemples d’utilisation
•Analyse de log de production pour avoir des
métriques en temps réel afin de mieux comprendre
vos utilisateurs ainsi que leur comportement et
préférences
•Analyse en temps réel des transactions de ventes
afin de détecter des fraudes
• Analyse des tweets et post sur les réseaux sociaux
pour prédire le comportement des marchés financiers
afin d’adapter le stock et l’offre
• Faire avancer la science et la recherche :
• Le CERN génère plus de 30 peta de données. Utilisation de 65,0000
processeurs en interne et et plusieurs milliers d’ordinateurs dans plus de 150
datacenter
• Le Google Car ou la Toyota Prius sont équipées de caméras et autres
capteurs pour générer des quantités importantes de données pour la conduite
automatique.
• Quid des missions d’exploration de la NASA
• Et la NSA?
www.baamtu.com
47. Big Data : mode ou révolution?
Big Data : Développement orienté Data
• Revoir la manière de modéliser nos données car
elles vont devenir Big.
• Les données sont brûtes
• Les données ne sont pas forcément structurées
• La volumétrie sera énorme!
• Les données doivent être immutables : ni de update
ni de delete que des add (historique, pas de pertes
de données)
• Les données seront distribuées sur plusieurs
machines
• la distribution des données affectera votre manière
de les traiter (séquentielle Distribué)
www.baamtu.com
48. Big Data : mode ou révolution?
Les outils Big Data
www.baamtu.com
49. Big Data : mode ou révolution?
Big Data Ecosystem
www.baamtu.com
50. Big Data : mode ou révolution?
Big Data Ecosystem
www.baamtu.com
51. Big Data : mode ou révolution?
• HDFS et Hadoop MapReduce sont les deux branches
Hadoop le kernel du BigData
du projet Hadoop incubé par la fondation Apache
(first class project).
• Hadoop est le résultat de l’implémentation de
principes publiés par Google dans deux articles sur
GFS et MapReduce
• Hadoop est un Framework Java pour le stockage et
le traitement distribués de grosses volumétries de
données.
•Hadoop est déployé sur plusieurs serveurs (cluster)
•HDFS (Hadoop Dristibuted File System) est un
système de fichier distribué et scalable.
•HDFS gère le stockage de donnée dans le cluster
Hadoop
• HDFS crée des blocs entre 64MB et 256MB
• Chaque bloc est répliqué plusieurs fois
www.baamtu.com
52. Big Data : mode ou révolution?
Composants Hadoop
www.baamtu.com
53. Big Data : mode ou révolution?
Architecture haut-niveau de Hadoop
www.baamtu.com
54. Big Data : mode ou révolution?
Déploiement chez Yahoo (cluster de plus de
40000 serveurs analysant +200PB de données)
www.baamtu.com
55. Big Data : mode ou révolution?
HDFS : Hadoop Distributed File System
• Le Système de fichier distribué de Hadoop est le
composant de stockage de Hadoop.
•HDFS est optimisé pour une forte charge et a de
meilleurs performances avec des R/W sur de larges
fichiers (de l’ordre du GB)
• HDFS va répliquer un nombre de fois (configuré :
par défant 3)
• HDFS réplique automatiquement les blocks des
nœuds en failure.
www.baamtu.com
56. Big Data : mode ou révolution?
Composants HDFS
www.baamtu.com
57. Big Data : mode ou révolution?
Map & Reduce
www.baamtu.com
58. Big Data : mode ou révolution?
MapReduce
• MapReduce est un paradigme de calcul distribué,
lancé par Google, qui fournit les bases pour un
traitement par lots (batch) scalable et faulttolerent.
•MapReduce est un modèle qui simplifie les
traitements parallélisés en faisant abstraction de la
complexité de travailler avec des systèmes
distribués :
• Parallélistions des calculs
• Garantir la fiabilité des logiciels et machines
Ceci permet au développeur de ne se focaliser que
sur le besoin métier
•MapReduce décompose le travail en petites
opérations map et reduce, parallélisable, qui
manipulent des couples de clé-valeur
•
www.baamtu.com
59. Big Data : mode ou révolution?
MapReduce
www.baamtu.com
60. Big Data : mode ou révolution?
MapReduce
• Le travail du développeur consiste à définir des
fonctions de map et reduce. La fonction de map à
pour résultat des couples clé-valeur, qui sont à leur
tour traités par la fonction reduce afin de produire
le résultat final.
www.baamtu.com
61. Big Data : mode ou révolution?
MapReduce
• Toute la puissance de MapReduce se trouve dans la
phase entre l’output map et l’input reduce : suffle
and sort
www.baamtu.com
62. Big Data : mode ou révolution?
MapReduce
www.baamtu.com
64. Big Data : mode ou révolution?
Hadoop EcoSystem
www.baamtu.com
65. Big Data : mode ou révolution?
MapReduce
• MapReduce n’est pas facile à apprivoiser, et les
objectifs de bons nombres de ces Projets liés à
Hadoop est d'accroître son accessibilité pour les
programmeurs et les non-programmeurs.
www.baamtu.com
66. Big Data : mode ou révolution?
NoSQL
www.baamtu.com
67. Big Data : mode ou révolution?
NoSQL : RDBMS
• Une base de donnée relationnelle est une collection
de données organisée en ensemble de tables
structurées.
•Ces tables peuvent avoir des relations entre elles.
• Les avantages majeurs sont la fiabilité et les
propriétés ACID :
• Atomicity : tout ou rien
• Consistency (cohérence : block on operation)
• Isolation (Indépendance des transactions)
• Durability (une fois la transaction validée, le changement est permanant)
www.baamtu.com
68. Big Data : mode ou révolution?
NoSQL : Limitations RDBMS
• Scalabilité : la seule manière possible c’est la
scalabilité verticale (augmentant la puissance de la
machine)
• A une certaine charge, quelque soit la techno, la
seule scalitbilité possible est un système distribué
• La nature relationnelle des RDBMS fait que
utilisation distribuée soit assez complexe.
• Jointure sur un système distribué est complexe
• La structuration en tables est complexe
• Ne prends pas en compte les données non
structurées
www.baamtu.com
69. Big Data : mode ou révolution?
NoSQL : une réponse au web!
• NoSQL est un ensemble de concepts permettant le
traitement rapide et efficace de données avec un
focus sur la performance, la fiabilité et l’agilité
(flexibilité au changement)
• Not Only SQL : la philosophie n’exclut pas les
RDBMS
• Plus de modèle relationnel (plus de schéma): Les
systèmes NoSQL stockent et récupèrent les données
dans plusieurs formats : key-value, graphe,
document, colonnes.
• Plus de jointures
• Systèmes conçus de manière distribuée dès le début
(sharding et replica par défaut)
• Fonctionnent sur de simples Box
• Scalabilité linéaire (honrizontale)
• OpenSource (très grande manjorité)
www.baamtu.com
70. Big Data : mode ou révolution?
NoSQL : BASE VS ACID
• NoSQL est plus dans une approche « Optimistic »
que « pessimistic »
• Lâche un peut lest pour la performance
• NoSQL fait le choix de BASE :
• Basic Availability : le système peut être temporairement « incohérent » mais
toujours disponible.
• Soft state : l’état du système peut changer, même sans input. Ceci à cause
du modèle Eventual consistency
• Eventual consistency : la cohérence du système est garantis à la fin de
toutes les exécutions. Mais être temporairement incohérent.
• L’objectif c’est vraiment la performance et la haute
performance.
www.baamtu.com
71. Big Data : mode ou révolution?
NoSQL : Théorème de CAP
www.baamtu.com
72. Big Data : mode ou révolution?
NoSQL : Famille Key-Value
www.baamtu.com
73. Big Data : mode ou révolution?
NoSQL : Famille Column
www.baamtu.com
74. Big Data : mode ou révolution?
NoSQL : Famille Document
www.baamtu.com
75. Big Data : mode ou révolution?
NoSQL : GrapheDocument
www.baamtu.com
76. Big Data : mode ou révolution?
Cloud (computing)
www.baamtu.com
77. Big Data : mode ou révolution?
Le CLOUD : avant
www.baamtu.com
78. Big Data : mode ou révolution?
Le CLOUD : avec
www.baamtu.com
79. Big Data : mode ou révolution?
Le CLOUD : 3 types
www.baamtu.com
80. Big Data : mode ou révolution?
Le CLOUD : 3 types
www.baamtu.com
81. Big Data : mode ou révolution?
Le CLOUD : 3 types
www.baamtu.com
82. Big Data : mode ou révolution?
Big Data – NoSQL –
Cloud
Le lien?
www.baamtu.com
83. Big Data : mode ou révolution?
BIG DATA & Santé
au Sénégal
www.baamtu.com