MongoDB
28 mai 2015
Contexte
- Lava JUG du mois de mars
- Animé par Tugdual Grall
- Présentation + Workshop
Workshop
- Pratique sur la théorie
- TD basé sur les personnages Marvel
- Discuter avec Tugdual
Pourquoi ?
- Complément aux bases de données relationnelles
- Ne répond pas aux mêmes besoins
- Gros volume de données (Big Data)
- Évolution rapide du nombre d'utilisateurs
- Flexibilité des structures dans le temps
- Time to market plus important que l'intégrité des données
Comment ?
- Pas une optimisation du stockage mais une optimisation du requêtage
- duplication
- moins de consistence
- Modèle dénormalisé
- Pas de transaction, pas de jointure, pas de langage
Mongo
- Société MongoDB Inc.
- Écrit en C - C++ - Go
- Community & Entreprise (plus de sécurité, LDAP, administration, support, licence commerciale)
- Version 3.0 (Mars 2015)
Modèle
Approche orienté document (JSon)
Haute disponibilité
Replica set
Scalabilité
Sharding
Scalabilité
Sharding + Routers
Démo
Geospatial
- GeoJSON
- http://tgrall.github.io/blog/2014/08/21/introduction-to-mongodb-geospatial-feature/
Use Cases
Dénormaliser son cerveau
Use Cases
Dénormaliser son cerveau
Use Cases
Internet of Things
Use Cases
Mix SQL/NoSQL
- Archivage
- Base opérationnelle : SQL (limité à 1 an)
- Base d'archive : MongoDB
Use Cases
Performance vs risque consistence
- E-Commerce (ex: amazon)
- Commande : pas de risque
- Panier : risque acceptable
- MMORPG
- Achat d'argent virtuel : pas de risque
- Achat entre joueurs : risque acceptable
Use Cases
Distribution géographique
Ce que j'en retiens
- Choisir le bon outil pour le bon usage
- Mixer NoSQL et SQL
- Évaluer le ratio risque/performance
- Organiser vos documents selon vos requêtes
Ce que j'en retiens
- Facilité de mise en route
- Structures hétérogènes intéressantes même si pas BigData
- Commencer petit et grossir
- Intéressant pour du full stack JavaScript (MEAN.js)
- Format présentation + workshop très intéressant
MMS
- Cloud
- Administration et provisioning
- Local, AWS ou remote
- Standalone, replica set ou sharding
- Gratuit jusqu'à 8 noeuds
Pour aller plus loin
- MongoDB University
- session du 26 mai - 14 juillet
- MEAN.js (Mongo, Express, AngularJS, Node)
- GridFS (blob, binaire, image, ...)
- Jongo.org (Driver java intuitif)
Liens
- Documentation (use case SQL to Mongo)
- MongoDB University
- Lava JUG MongoDB
- Workshop sur GitHub
Retour Workshop MongoDB
By Pierre PIRONIN
Retour Workshop MongoDB
- 847