MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Données référentielles NoSql

Vos données sont clairement relationnelles :un article a un auteur. Vous pouvez modéliser vos données dans un magasin NOSQL comme MongoDB de la même manière que vous le feriez dans un magasin relationnel MAIS parce qu'il n'y a pas de jointures dans la base de données, vous devez faire deux appels à la base de données donc vous n'avez rien gagné.

MAIS ... ce que vous POUVEZ faire avec un magasin NOSQL, c'est dénormaliser quelque peu les données pour obtenir de meilleures performances (un seul aller-retour pour obtenir tout ce dont vous avez besoin pour afficher l'article) MAIS au détriment d'une cohérence immédiate :troquer l'auteur toujours précis noms pour des noms d'auteur éventuellement exacts.

Vous pouvez par exemple utiliser ceci dans votre article :

author: {firstName: "Smarty", lastName: "Pants", _id:DE342624EF }

Vous pouvez désormais afficher l'article très rapidement et lorsque quelqu'un change de nom, vous pouvez soit lancer une tâche en arrière-plan pour mettre à jour tous les articles existants, soit attendre un balayage de cohérence périodique pour le corriger.

De nombreux sites Web majeurs ne vous offrent plus une cohérence immédiate. Certaines modifications que vous apportez ne sont visibles que par les autres utilisateurs du site.