#mongodb
#mongodb
Вопрос:
При запуске экземпляр моей службы должен загрузить всю коллекцию Mongo. Не спрашивай почему. Я ожидаю, что он будет 100 mb > x < 500 mb
иметь большой размер и содержать не более 1M
легких документов.
Каков наилучший способ его реализации, обеспечивающий согласованность в отношении доступности и задержки?
Мой план состоит в том, чтобы использовать функции find() и watch() одновременно. Первый даст мне итератор по всем документам в коллекции, а второй уведомит меня об изменениях, которые могли произойти с данными за это время.
Но есть ли лучший способ?
P.S. Могут ли проблемы с чтением / записью помочь мне здесь?
Ответ №1:
Я бы попробовал использовать проблему чтения транзакций и снимков.
Комментарии:
1. Почему? В чем выгода, что может пойти не так в противном случае?
2. Вы спрашиваете, потому что не понимаете проблему чтения моментальных снимков или потому, что вы вообще не читали об этом?
3. Я прошу аргументы.
4. Ваш подход find watch по своей сути колоритен, что, я думаю, очевидно. Проблема чтения моментального снимка не является.
5. Но разве транзакция снимок не сделали бы противоположное и не обменяли бы доступность, задержку на согласованность?