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

Retour Workshop MongoDB

By Pierre PIRONIN

Retour Workshop MongoDB

  • 847