MongoDB - Как работает блокировка для Map Reduce? - PullRequest
4 голосов
/ 26 марта 2012

Уменьшает ли карта MongoDB блокировку коллекции при выполнении операции с ней?

У меня есть несколько коллекций, которые широко и интенсивно используются приложением. Map / Reduce запускается в фоновом режиме каждые 10 минут с помощью задания cron для этой широко и интенсивно используемой коллекции.

Я хочу знать, существует ли высокая вероятность того, что Map / Reduce не будет работать должным образом, потому что в этой коллекции выполняются другие операции (вставки, обновления и в основном чтения). В частности, я хочу знать, мешает ли Map / Reduce нормальным операциям, выполняемым пользователями при сборе.

1 Ответ

1 голос
/ 26 марта 2012

MapReduce, если при выводе в коллекцию будет происходить несколько блокировок записи во время записи (как любая операция, которая создает / обновляет коллекцию).Если вы выполняете встроенный MR, тогда вы избегаете этой блокировки (но имеете ограничения по размеру результата).Тем не менее, все еще существуют блокировки чтения и блокировка Javascript (однопотоковая для JS на стороне сервера на mongoDB прямо сейчас).

Это все объяснено (и будет обновлено, если оно изменится) здесь:

http://www.mongodb.org/display/DOCS/How+does+concurrency+work#Howdoesconcurrencywork-MapReduce

Примечание. Проблемы миграции движка SpiderMonkey на V8 JS следует отслеживать, если вас беспокоит многопоточность.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...