Utilisation avancée de MongoDB

Éviter les jointures

Pourquoi éviter les jointures ?

Les jointures sont des opérations extrêmement coûteuses en matière de performance. Or, les bases orientées document permettent d'éviter ces jointures grâce à leur format flexible qui leurs permettent d'encapsuler des données complexes tel que des tableaux, ou des documents.

Prenons un exemple : une base de données nous permet de recenser les emojis utilisés par les utilisateurs du slack d'une promotion d'apprentis de l'UTC.

Pour un modèle équivalent avec MongoDB, on pourrait utiliser une seule base de documents avec le modèle suivant :

{

id : "id",

username : "username",

prenom :"prenom",

nom :"nom" ,

scores :[ {emojiName :"emojiName", nbPoints :42}]

}

On remarquera ici qu'il y aura une réplication du nom des emojis pour chaque utilisateur.

PrécédentPrécédentSuivantSuivant
AccueilAccueilImprimerImprimer Gerin-Roze Camille, 2017 (Contributions : Stéphane Crozat, les étudiants de l'UTC) Réalisé avec Scenari (nouvelle fenêtre)