Я использую mongodb с elasticsearch для моего приложения. Elasticsearch создает индексы путем сбора коллекции oplog. Когда оба приложения работают постоянно, любые изменения в коллекциях в mongodb немедленно индексируются. Единственная проблема, с которой я сталкиваюсь, заключается в том, что по какой-то причине мне пришлось удалить и воссоздать индекс, тогда для завершения индексирования требуется возраст (2 дня).TTL индекс на oplog или уменьшение размера oplog?
Когда я смотрел размер моего oplog по умолчанию, его емкость составляет 40 гб, а его объем составляет около 60 миллионов транзакций, из-за чего создание нового индекса занимает много времени. Что было бы лучшим способом оптимизации создания свежих индексов?
Следует ли уменьшить размер oplog, чтобы он уменьшил количество транзакций и все еще не повлиял на мою репликацию, или можно создать индекс ttl (который я не смог выполнить при нескольких попытках) на oplog.
Я использую elasticsearch с mongodb, используя реку mongodb https://github.com/richardwilly98/elasticsearch-river-mongodb/.
Любая помощь для преодоления вышеупомянутых проблем приветствуется.
Спасибо за разъяснение относительно TTL. Что касается размера oplog, я тестирую оптимальный размер, чтобы у меня не было проблем с репликацией и индексированием. – dittu
@ dittu Хорошая вещь - рассчитать, сколько дней стоит у вас, вот как должен выглядеть размер oplog, оттуда вы можете решить, сколько дней вам действительно нужно – Sammaye