Я оцениваю Mongo DB с Apache Storm. Мой вариант использования таков, что я должен читать данные из MongoDB в Apache Storm, выполнять некоторую обработку в болте и выгружать его в базу данных графиков Neo4J.Mongodb oplog synchronization
Я использую Mongo Spout, который будет считывать данные из файла oplog. Я просмотрел документацию, в которой говорится, что первичный узел записывает данные в файл oplog, а чтение с репликами будет происходить из него асинхронно. Я знаю, что oplog - это ограниченная коллекция (заданный размер), данные записываются в oplog с очень высокой скоростью, а синхронизация с набором реплик немного медленная. Если oplog достигает максимального размера, он перезаписывает документы с самого начала файла. Во время асинхронного процесса, если мы получаем некоторые другие данные, и если репликация все еще завершена, существует возможность потерять набор репликации, поскольку он не будет синхронизирован.
Мой вопрос здесь
1) Есть ли способ преодолеть это?
2) Насколько лучше мы можем использовать эту ограниченную коллекцию при использовании с Apache Storm?
3) Если я даю максимальный размер oplog, например, я даю 500 ГБ, а oplog имеет 1 гб данных, он займет и зарезервирует 500 гб размера?
4) Является ли это правильным решением для моего использования?
Заранее благодарен!