Welcome and Introduction to A Morning with MongoDB Petah Tikvah
Morning with MongoDB Paris 2012 - Octo
Transcript of Morning with MongoDB Paris 2012 - Octo
1
© OCTO 2012 © OCTO 2012
A Morning with MongoDBMongoDB et « l’analytics »
2
© OCTO 2012
Arnaud Huon
Consultant Senior
Média & Internet
MongoDB Addict depuis 2010
3
© OCTO 2012
4
© OCTO 2012
Mes rendez-vous8 mois d’Urbandive
500 000 entités géographiques sur du replica set
1 mois de Groupe MoniteurTraces fonctionnelles indexées et requêtables
3 jours d’AnalyticsRéconciliation et Agrégation de traces de visites
Mes sentimentsVersatile
Facile d’accès
Facile à mettre en place
Robuste
Developer Friendly
MongoDB & Moi
5
© OCTO 2012
Faire glisser l'image vers l'espace réservé ou cliquer sur l'icône pour l'ajouter
Application orientée Flux évènementiel
Application orientée Transaction
Application orientée Stockage
Application orientée Calculs
Univers « standard »
SGBDR,Serveur d’application,
ETL, ESB
Au-delà de 10 To en ligne, les architectures « classiques » nécessitent des adaptations logiques et matérielles très importantes.
Au-delà de 1 000 transactions/seconde les architectures « classiques » nécessitent des adaptations logiques et matérielles très importantes.
Au-delà de 10 threads/Core CPU, la programmation séquentielle classique atteint ses limites (IO).
Au-delà de 1 000 évènements/seconde, les architectures « classiques » nécessitent des adaptations logiques et matérielles très importantes.
Stockage distribué
Share nothing
XTP
Programmation parallèle
Event Stream Processing
6
© OCTO 2012
Faire glisser l'image vers l'espace réservé ou cliquer sur l'icône pour l'ajouter
Application orientée Flux évènementiel
Application orientée Transaction
Application orientée Stockage
Application orientée Calculs
MongoDB
Univers « standard »
7
© OCTO 2012
Contexte : un site de presse en ligne veut construire un paywall
Enjeu : Etre capable d’agréger 67 M de lignes de CSV (soit 10 Go), avec un temps de développement minimum
5 épreuves imposées : insertion – modification – réconciliation – double agrégation – export
Ma contrainte : je ne suis pas DBA !
Cas d’usage « Analytics »
8
© OCTO 2012
Développement initial en ½ journée
Amélioration 1 : faire l’indexation après l’insertionRéduction de 30% du temps de traitement
Amélioration 2 : Modifier les données directement à la source Réduction de 50% du temps de traitement
Amélioration 3 : Changement d’infrastructure
Amélioration en 3 phases
9
© OCTO 2012
Configuration serveur RHEL516Go de RAM (8 dispo)8 CPUDisque Dur 100Go
Debian24Go de RAM8 CPUSSD 70Go
instance "m2.2xlarge" sous RHEL632Go (35 visible dans le top)4 CPUstockage EBS 300Go
Etapes du traitement
import des 67 000 000 lignes 1h15 30 mn 55 mn
Indexation 1h05 20 mn 40 mn
Réconciliation des données10h 3h30 8h30
Agrégations de préparation
Agrégations interrompu au bout de 26h,loin d'avoir fini...
pas fait, manque d'espace disque 14h00
Notre benchmark
10
© OCTO 2012
Insérer puis indexer
Modifier plutôt les fichiers sources plutôt que les données insérées
Avoir un disque dur volumineux et rapide
Avoir le plus de RAM possible
Doggy Bag