Livre – MongoDB in Action
Je souhaitais approfondir MongoDB depuis un petit moment déjà. Et bien qu’il y ai suffisamment de ressource sur le site officiel, la lecture d’un ouvrage papier a toujours été pour moi un luxe lors des mes découvertes techniques.
MongoDB
Pour commencer,
C’est un serveur de base de donnée NoSQL stockant les données sous forme de Document.
Contrairement à d’autres serveurs NoSQL comme Redis qui ne permet un acces aux données que par une clé unique, MongoDB permet d’acceder à un ou plusieurs Document via un système de requête pouvant utiliser des indexes.
MongoDB c’est aussi un déploiement Haute Disponibilité simplifié par la Réplication, une répartition des données – Sharding – possible pour les projets d’envergures, du Map/Reduce et du stockage de fichier via GridFS.
Bref, c’est une mine d’or pour les technophiles.
Le livre
Ce livre s’adresse à ceux souhaitant découvrir MongoDB, voici les différents chapitres
- A database for the modern web
- MongoDB through the JavaScript shell
- Writting programs using MongoDB
- Document-oriented data
- Queries and aggregation
- Updates, atomic operations, and deletes
- Indexing and query optimization
- Replication
- Sharding
- Deployment and administration
Il s’agit d’un ouvrage écrit en Anglais dans un registre légèrement plus soutenu que les autres livres techniques Anglais. Heureusement il ne s’agit pas d’un roman, on comprends donc assez facilement les messages que souhaite faire passer l’auteur.
Dès les 50 premieres pages, j’ai été convaincu par cette “nouvelle” technologie !
J’avais énormément de question sur la structure d’un projet MongoDB et la migration depuis un SGBDR.
C’est là que les exemples sont très parlant et illustrent les problématiques qu’un développeur rencontra à coups sûr. On trouve réponse à de nombreuses questions concernant la conception d’un projet avec MongoDB.
La partie qui m’a un peu déçu concerne le Sharding sous MongoDB.
Je m’attendais à une fonctionnalité simple à mettre en place alors qu’en fait, cela implique quelques contraintes sur les indexes, et alourdit de maniere significative l’administration.
Au final, c’est moi qui avait un mauvais jugement, le Sharding étant une fonctionnalité tellement excellente pour les entreprises disposant d’un jeux de données colossale qu’il ne fallait pas s’attendre à une simple commande CLI. De grands pouvoirs impliquent de grandes responsabilités !
Pour conclure
MongoDB a un avenir plus que certain au sein de nos SI. Il manque encore un peu de maturité à ce projet pour qu’il puisse s’imposer face à MySQL. Mais un jour on utilisera les SGBDR uniquement lorsque l’on aura des contraintes liées aux transactions ou à une propriété dédiée des nos SGBRD.
Pour aller un peu plus loin
Si vous êtes développeur PHP, je vous recommande fortement la lecture du projet Doctrine MongoDB ODM.
Mon point de vue est qu’il s’agit d’un must have sur les projets MongoDB.
Sans parler de la possibilité de faire du mapping vers des POJO, MongoDB ODM permet d’assembler deux collections liés par des références, et je vous laisse découvrir l’intérêt du priming qui ne vous laissera surement pas de marbre.
Commander le livre sur Amazon.