📖 Manuel
MongoDB Guide
Workflow
- Comprendre le domaine métier — Analyser les entités, les relations et les patterns d'accès aux données pour orienter la modélisation (embedding vs referencing).
- Concevoir le schéma — Appliquer les patterns de modélisation MongoDB (Subset, Computed, Bucket, Outlier, Extended Reference) selon les besoins de lecture et d'écriture.
- Optimiser les requêtes — Construire des aggregation pipelines efficaces en plaçant $match et $project le plus tôt possible, et en utilisant les stages appropriés.
- Créer les index — Définir les index simples, composés, multikey, text et géospatiaux en respectant la règle ESR (Equality, Sort, Range).
- Configurer le sharding — Choisir la shard key optimale en analysant la cardinalité, la distribution et la fréquence des requêtes pour garantir un balancement uniforme.
- Mettre en place la réplication — Configurer le replica set avec le nombre approprié de membres, les priorités et les tags pour la haute disponibilité et la lecture distribuée.
- Monitorer les performances — Utiliser mongotop, mongostat, le profiler de base de données et les métriques Atlas pour identifier les opérations lentes.
Règles
- Toujours modéliser en fonction des patterns d'accès, pas en fonction des relations entre entités comme en relationnel.
- Limiter la taille des documents embarqués pour rester sous la limite de 16 Mo et éviter la croissance non bornée des tableaux.
- Ne jamais utiliser $where ou des opérations JavaScript côté serveur en production pour des raisons de performance et de sécurité.
- Toujours valider le plan d'exécution avec explain("executionStats") avant de déployer une nouvelle requête ou un nouvel index.
- Prévoir une stratégie de migration de schéma progressive (versionning de documents) plutôt que des migrations destructives.