Индексирование mongo oplog

Разумно/рекомендуется/возможно ли создать индекс для коллекции oplog.rs? Причина, по которой я спрашиваю, заключается в том, что я считаю, что это является причиной наших постоянных предупреждений о сканированном объекте/возвращенном превышении 1000. Возможно ли это или это предупреждение не принимает во внимание oplog/local?

Я прочесал наш код, чтобы убедиться, что индексация присутствует для всех запросов (в целом это довольно небольшая база кода). Я также просмотрел журналы, чтобы убедиться в отсутствии каких-либо COLLSCAN — отсюда возможное объяснение, что коллекция oplog.rs отвечает за эти оповещения. Еще одним фактором здесь является то, что оповещение колеблется очень сильно — от менее 100 до 1500 — что звучит так, как будто это связано с оплогом.

Заранее спасибо!


person Hemal    schedule 30.05.2018    source источник
comment
Для чего именно вы запрашиваете oplog? Это ограниченная коллекция, и ее действительно следует рассматривать как FIFO, и не должно быть никакой реальной пользы, кроме обработки элементов в последовательности, в которой они появляются. Если вам нужен какой-то анализ, вам, вероятно, лучше прослушивать события потока изменений и записывать в другую коллекцию для анализа. Конечно, неразумно ожидать, что данные останутся в oplog в течение более длительного периода времени, чем это предусмотрено целью репликации.   -  person Neil Lunn    schedule 30.05.2018
comment
Невозможно создать какие-либо вторичные индексы в oplog (см.: stackoverflow.com/questions/15389325/). Какая система генерирует эти предупреждения? В идеале предупреждающее сообщение должно включать контекст пространства имен (база данных и коллекция). Ваше приложение выполняет какие-либо пользовательские запросы или отслеживает оплог? Вы просматривали свои журналы MongoDB на наличие медленных запросов? В зависимости от системных ресурсов неэффективные запросы могут не обязательно быть медленными, но обычно это хорошая отправная точка.   -  person Stennie    schedule 30.05.2018
comment
Спасибо за ответы. Я оставлю oplog как есть - меня беспокоило предупреждение, которое я продолжал получать, говоря, что отношение отсканированных объектов к возвращенным документам превышало 1000. Тем не менее, копнув глубже, я не нашел медленных запросов (более 100 мс) и никаких экземпляров. любых запросов, выполнявших полный COLLSCAN. Мониторинг метрик в реальном времени в Mongo Atlas, единственный запрос, который постоянно появлялся в их списке самых медленных запросов, был всеми запросами в оплоге. Однако, когда он ограничен, нет смысла индексировать его, как вы оба говорите. Ваше здоровье.   -  person Hemal    schedule 31.05.2018
comment
Вы используете MeteorJS? Я думаю, что несколько пользователей (включая меня) также сталкиваются с этой проблемой: -objects-returned-ratio/50115/8" rel="nofollow noreferrer">forums.meteor.com/t/   -  person williamli    schedule 11.12.2019