Я не эксперт по mongodb, поэтому сейчас я немного не уверен в настройке сервера.
У меня есть один экземпляр, на котором работает mongo3.0.2 с wiredtiger, принимающий операции чтения и записи. Он собирает журналы с клиента, поэтому нагрузка на запись приличная. Раз в день я хочу обработать эти журналы и рассчитать некоторые показатели, используя структуру агрегации, набор данных для обработки - это что-то вроде всех журналов за последний месяц, и все вычисления занимают около 5-6 часов. Я думаю о разделении записи и чтения, чтобы избежать блокировки моих коллекций (сервер продолжает записывать журналы, пока я читаю, новые записанные журналы могут соответствовать моим запросам, но я могу их пропустить, потому что мне не нужна 100% точность) ).
Другими словами, я хочу сделать настройку с вторичным для чтения, где репликация не выполняется постоянно, а запускается в настроенное время или, лучше, запускается до того, как будут запущены все операции чтения.
Я делаю всю свою обработку из node.js, поэтому один из вариантов, который я вижу здесь, - это экспортировать данные, созданные в какой-то период, например [вчера, сегодня], и импортировать их, чтобы прочитать экземпляр самостоятельно и выполнить вычисления после завершения импорта. Я искал набор реплик и репликацию master/slave в качестве возможных настроек, но я не понял, как настроить его для достижения описанного сценария. Так что, может быть, я ошибаюсь и что-то упускаю здесь? Есть ли другие варианты для достижения этого?