/ / Mongodb avec des relations [duplicate] - mongodb

Mongodb avec des relations [duplicate] - mongodb

Je suis nouveau dans les magasins de documents (notamment mongodb), mais j'aimerais savoir quand on utilisera des relations intégrées et quand on utilisera des références? tel que défini dans http://docs.mongodb.org/manual/core/data-modeling-introduction/

Je suppose que si la relation est utilisée uniquement à un endroit, elle devrait être intégrée, sinon utiliser une référence?

Quelles sont les implications de cette décision?

Réponses:

0 pour la réponse № 1

Eh bien, le lien que vous avez traversé indique assez clairement:

En général, utilisez des modèles de données normalisés:

  1. lors de l’incorporation entraînerait une duplication des données mais ne fournir suffisamment d’avantages en termes de performances de lecture pour dépasser les implications de la duplication.
  2. pour représenter des relations plusieurs à plusieurs plus complexes.
  3. pour modéliser de grands ensembles de données hiérarchiques.

Je pense que dans la majorité des cas,MongoDB est optimisé pour gérer les requêtes sur des données incorporées. Il a été construit pour bien le faire, et tout l’intérêt de MongoDB (je crois) est d’éliminer les jointures et la normalisation. Vous devrait essayez de mettre autant de données que possible dans les documents eux-mêmes.

La page indique également certains inconvénients liés à l’utilisation de références lorsque la même chose peut être obtenue avec l’intégration (vous constaterez souvent que c’est souvent le cas):

Toutefois, les applications côté client doivent émettre des requêtes de suivi pour résoudre les références. En d'autres termes, les modèles de données normalisés peuvent nécessiter davantage d'allers-retours au serveur.

De plus, si vous utilisez trop de référencesAu lieu d'incorporer des données, vous risquez de perdre l'avantage de cohérence garanti qu'un document fournit, car les opérations sur les documents sont atomiques mais ne le sont pas autrement.