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

MongoDB MapReduce verrouille-t-il la base de données

Réponse simple ? Parfois...

Cela dépend beaucoup de la façon dont vous utilisez map/reduce ... mais d'après mon expérience, cela n'a jamais été un problème.

Il n'y a pas beaucoup d'informations à ce sujet, mais c'est clairement indiqué dans le docs c'est le cas parfois verrouiller mais il "Permet un fonctionnement simultané substantiel."

Il y a quelques questions dans le groupe mongodb-user demander à ce sujet ... la meilleure réponse que j'ai vue officiellement est-ce que ... "en 1.4, il donne mais n'est pas aussi agréable qu'il devrait l'être, en 1.5, il est beaucoup plus convivial pour les autres requêtes."

Cela ne veut pas dire qu'il ne bloque pas du tout , mais comparé à db.eval() qui bloque le l'ensemble du processus mongod ... c'est votre meilleur pari.

Cela dit, dans 1.7.2 et plus, il y a maintenant un nolock option pour db.eval() ...