Как установка флага WriteConcern в SAFE в java-драйвере влияет на производительность MongoDB?Производительность MongoDB в режиме SAFE
ответ
Замедляет его значительно (как и следовало ожидать).
Без флага «SAFE» водители MongoDB работают в режиме «Огонь Забудьте». Поэтому команда update
отправляется на сервер, а затем драйвер продолжает работу. Если есть ошибка с записью или сервер умирает до того, как произойдет изменение, клиент ничего не знает об этом.
С флагом SAFE драйверы выполняют команду update
и команду getLastError()
. Эта вторая команда не будет завершена до тех пор, пока обновление фактически не произойдет в БД. По крайней мере, вы отправляете две команды вместо одной (, так что она на 50% медленнее).
По моему опыту это на самом деле на 5x20x медленнее. Конечно, это имеет смысл, потому что на самом деле запись данных является медленной частью всей этой части.
Обратите внимание, что без флага SAFE некоторые исключения никогда не произойдут. Например, вы никогда не получите дублирующее ключевое исключение.
Если вы планируете использовать MongoDB в качестве типичной базы данных (аналогично MySQL), вам необходимо использовать как минимум Режим «SAFE» и набор реплик. В противном случае вам нужен режим «ЖУРНАЛ» с одним ящиком. Я использую режим JOURNAL, вы заметите, что производительность начинает выглядеть как обычный SQL.
. Ваш ответ не на 100% правильный. «Конечно, это имеет смысл, потому что на самом деле запись данных - это медленная часть всей этой части». Это не обязательно так, поскольку «безопасный» режим означает только то, что вставка/обновление применяется в * памяти *. Для обеспечения того, чтобы все было на диске, вам понадобится «fsync». – Derick
@Derick: есть две проблемы с вашим ответом. # 1: вы также можете обеспечить, чтобы данные находились на диске, используя то, что он был зарегистрирован (что намного быстрее, чем ждать fsync). # 2: ни в каком пункте я не упоминаю слово «диск» в любом месте моего сообщения. Мы с вами оба знаем, что с MongoDB получение данных на диск является второстепенным. –
Кстати, если вы хотите сделать канонический ответ на этот вопрос, вы действительно имеете доступ к документации MongoDB. Поэтому вместо того, чтобы жаловаться на слово, которое я никогда не использовал, или на то, что я никогда не делал, почему бы не предоставить 100% -ный ответ на документы MongoDB? –
- 1. Производительность Mongodb в Windows
- 2. Вставить производительность node-mongodb-native
- 3. MongoDB ObjectID safe для идентификатора сеанса
- 4. Производительность агрегации MongoDB
- 5. MongoDB - Производительность драйвера Java
- 6. Несколько вкладышей в MongoDB - Производительность
- 7. Плохая производительность в MongoDB sharding
- 8. Производительность в MongoDB и GridFS
- 9. Производительность группы MongoDB в node.js
- 10. MongoDB производительность реки
- 11. Производительность структуры сборки MongoDB
- 12. MongoDB производительность записи
- 13. MongoDB агрегация - производительность матча
- 14. Как повысить производительность MongoDB
- 15. MongoDB - Производительность геопространственного пересечения
- 16. Alteryx MongoDB Производительность вывода
- 17. MongoDB: ухудшенная производительность запросов
- 18. Производительность индексов компонентов MongoDB
- 19. MongoDB низкой производительность запроса
- 20. mongodb - счет улучшает производительность
- 21. Производительность запросов Mongodb
- 22. Производительность и дизайн MongoDB/NoSQL
- 23. Производительность MongoDB со вторым индексом
- 24. Производительность MongoDB по запросам агрегирования
- 25. Как улучшить MongoDB вставить производительность
- 26. Производительность агрегации MySQL Vs MongoDB
- 27. Производительность проектора java-драйвера MongoDb
- 28. Heroku: производительность Mongodb vs. Postgres
- 29. Производительность mongodb для большого документа
- 30. Производительность MongoDB со всеми параметрами
Это может быть глупый вопрос, который я задаю, но: вы можете себе представить себя легко, думая *, что производительность снижается. На сколько? Измерить его с помощью * вашей * системы и * ваших * данных. –
Это неподдельный вопрос, поскольку Монго по-умолчанию забывает и забывает. Очевидно, что он будет замедляться, но я искал ответ, основанный на том, как другие люди имели дело с этим – Rand