NoSQL : bonnes pratiques & performance

MongoDB, Cosmos DB & cie : modéliser pour les requêtes, choisir sa clé de partition, indexer, gérer la cohérence et les coûts. L'essentiel à maîtriser.

Document et partitionnement en un schéma

Deux idées clés du NoSQL document : on regroupe ce qu'on lit ensemble dans un même document, et on répartit les documents entre partitions grâce à une bonne clé.

Relationnel vs Document
RELATIONNEL DOCUMENT Client id (PK) nom Commandes id (PK) clientId (FK) montant jointure {   _id: 42,   nom: "Durand",   commandes: [     { ref:"A1", … },     { ref:"A2", … }   ] } 1 client + ses commandes Le document regroupe ce qu'on lit ensemble : → pas de jointure, lecture en 1 seul accès. Contrepartie : duplication possible des données.
Clé de partition : répartir la charge
✔ Bonne clé : clientId (forte cardinalité) clé → routeur Partition 1 ≈ 33 % Partition 2 ≈ 33 % Partition 3 ≈ 33 % ✘ Mauvaise clé : pays = « FR » clé → routeur Partition 1 0 % 100 % point chaud (hot partition) Partition 3 0 % Une bonne clé répartit uniformément ; une mauvaise crée un point chaud (hot partition).

En NoSQL document, on modélise selon les accès : on imbrique ce qu'on lit ensemble (fini les jointures), et on choisit une clé de partition à forte cardinalité et bien répartie pour éviter les points chauds.

🎯 Testez-vous

Six questions pour vérifier que les bonnes pratiques NoSQL sont bien acquises.

Retour aux outils développeurs