2014-12-11 3 views
0

Я планирую строить приложение следующим образом:MongoDB: Если MapReduce установлен как не атомарный, что происходит с новыми записанными данными?

  • сервер Узел получает журналы от мобильных устройств и вставляется в Монго, как они приходят.
  • Выполняется инкрементное задание MapReduce для вычисления новых полей из данных.
  • Данные затем предварительно агрегируются по минутах, часам, дням и т. Д.
  • Все данные, полученные в mongo, запрашиваются приложением для визуализации интерфейса.

У меня есть несколько проблем:

  • Если я устанавливаю неатомической флаг истинно, что произойдет, если новые данные записываются в БД, как выполнения задания MapReduce?
    • Написано ли оно db? Если это так, я предполагаю, что эти данные не будут включены в текущее поэтапное задание MapReduce.
    • Или, база данных заблокирована и запись потеряна?
  • Как задание MapReduce, а затем выполняется агрегирование времени, могут ли существующие данные в базе данных быть поданы на мой интерфейс?

Спасибо!

ответ

1

Приведенное ниже описание MongoDB 2.6. nonAtomic - это опция для части карты/сокращения out. Это не связано с тем, как карта/сокращение является глотанием документов из исходной коллекции, а только тем, как она выводит документы в целевую коллекцию.

Map/Reduce использует курсор ввода документов (созданный из query, sort, limit), поэтому правила для курсоров применяются для входных документов для отображения/уменьшения.

nonAtomic Когда это false, во время out стадии карты/уменьшение, база данных выхода заблокирована, так пишет в эту базу данных будет ждать, и, возможно, будет время, как неудачи на клиенте.

Если nonAtomic является true, в то время как out этап отображения/уменьшения работает, данные могут быть считаны из базы данных и служил к переднему концу, но так как чтение может чередоваться с выходом из карты/уменьшения, данные могут быть в промежуточном состоянии.

+0

Что вы подразумеваете под «данные могут быть в промежуточном состоянии»? – user1591328

+0

Еще не полностью уменьшен – wdberkeley

Смежные вопросы