Комментарии 15
Отличную тему выбрали! Сравнение объектно-реляционных расширений классических СУБД и NoSQL MongoDB
-4
Очень не хватает для полноты картины конфигурационных файлов (от них очень много зависит).
Такой разлет в обновлении, скорее всего, вызван разными гарантиями транзакций (записаны ли данные физически на диск после COMMIT?).
Такой разлет в обновлении, скорее всего, вызван разными гарантиями транзакций (записаны ли данные физически на диск после COMMIT?).
+3
Специфических конфигураций ни для одной базы не было, все использовалось «из коробки».
Насчет записи данных на диск в тестах для update — я пробовал выполнить этот тест с использованием опции write concern j:true, чтобы убедиться, что операция попала в журнал (насколько я понимаю, это рекомендуемый способ управления гарантиями транзакций в mongodb). Это, конечно, замедлило выполнение теста, но все равно обновление происходило гораздо быстрее, чем в PostgreSQL или Mysql (этих данных на графиках сейчас нет).
Насчет записи данных на диск в тестах для update — я пробовал выполнить этот тест с использованием опции write concern j:true, чтобы убедиться, что операция попала в журнал (насколько я понимаю, это рекомендуемый способ управления гарантиями транзакций в mongodb). Это, конечно, замедлило выполнение теста, но все равно обновление происходило гораздо быстрее, чем в PostgreSQL или Mysql (этих данных на графиках сейчас нет).
0
У вас в Mongo операции с fsync проходили?
0
Судя по исходникам, замеряется не скорость запросов, а скорость запуска «шела» (mongo/psql/mysql) с авторизацией, и скорость их вывода результата.
+3
Да, это все в итоге включается во время исполнения запроса. В том числе поэтому данные тесты лишь грубая оценка производительности (хотя надо бы еще убедиться, что в других способах изменения нет подобных накладок).
-1
Это не грубая оценка, а полный треш.
+5
это все в итоге включается во время исполнения запросаДля интереса сейчас замерил на коллекции 100к, выполнение команды через монгошел (с запуском без авторизации) ~50мс, выполнение этой же команды из python ~0.4мс, победит тот у кого шел быстрее.
Когда программисты будут запускать внешний бинарник для запросов к БД вместо использования встроенного драйвера, тогда данный бенчмарк можно будет и рассмотреть.
0
Зарегистрируйтесь на Хабре , чтобы оставить комментарий
Сравнить несравнимое: json в PostgreSQL vs Mysql vs Mongodb