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
- 1,204