Я не эксперт mongodb, поэтому я немного не уверен в настройке сервера.Mongodb, могу ли я запускать вторичную репликацию только в заданное время или вручную?
У меня есть один экземпляр, запускающий mongo3.0.2 с wiredtiger, принимающий операции чтения и записи. Он собирает журналы от клиента, поэтому нагрузка на запись приличная. Один раз в день я хочу обрабатывать эти журналы и вычислять некоторые показатели с помощью структуры агрегации, набор данных для обработки - это что-то вроде всех журналов за последний месяц, и все вычисления занимают около 5-6 часов. Я думаю о разделении записи и чтения, чтобы избежать блокировок в моих коллекциях (сервер продолжает записывать журналы во время чтения, новые записанные журналы могут совпадать с моими запросами, но я могу пропустить их, потому что мне не нужно 100% точность).
Другими словами, я хочу сделать настройку со вторичной для чтения, где репликация не выполняется непрерывно, но запуск в заданное время или лучше запускается до начала всех операций чтения.
Я делаю всю свою обработку с node.js, поэтому один из вариантов, который я вижу здесь, заключается в том, чтобы экспортировать данные, созданные в некоторый период, например [вчера, сегодня], и импортировать его для чтения экземпляра самостоятельно и выполнить вычисления после импорта , Я рассматривал набор реплик и репликацию master/slave как возможные настройки, но я не понял, как его настроить для достижения описанного сценария. Так что, может быть, я ошибся и что-то пропустил? Есть ли другие возможности для достижения этого?
Возможно, я постараюсь добавить больше фактов, это непросто сделать кратким, потому что у меня около 15 различных агрегаций ... Но, мой вопрос не в том, о них, я немного отредактировал тему. Мой главный вопрос: как я могу получить настройку, где репликация вторичного не выполняется непрерывно, но начинается в заданное время или лучше срабатывает до начала всех операций чтения. – levady
Вы не можете, вы не должны, и я бы не помог;) как было сказано ранее, вы, возможно, захотите использовать вторичное в первую очередь. –
Когда вы только начинаете репликацию перед отчетами, вы не будете знать, сколько времени потребуется, пока она не будет синхронизирована. Почему бы не позволить тиражированию работать постоянно? Дополнительная нагрузка на мастер незначительна * и * вы получаете дополнительный коэффициент автоматического переключения при сбое в случае, если первичный сигнал неожиданно падает. – Philipp