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
Made with Slides.com