MongoDB без базы данных?

#mongodb #nosql

#mongodb #nosql

Вопрос:

Возможно ли использовать MongoDB без части базы данных? Что касается моего приложения, то идеальным было бы просто сохранить базу данных в памяти и фактически не требовать сервер базы данных. Вариант использования для этого заключается в том, чтобы в значительной степени обернуть механизм выбора / запросов вокруг серии документов, которые существуют в памяти только временно — после завершения сеанса мы можем больше не заботиться о документах.

Спасибо, ребята, приложение в Node.js . Если MongoDB не может этого сделать, есть ли у вас какие-либо рекомендации?

Комментарии:

1. Memcache — лучшее решение для такого типа проблем

Ответ №1:

Насколько я знаю, это невозможно, но вы могли бы легко создавать новую коллекцию за сеанс и удалять ее по завершении сеанса.

Ответ №2:

Вы могли бы использовать Memcached.

Вот параллельное сравнение двух

Комментарии:

1. Насколько я знаю, если вам нужно запускать сложные запросы к структурированным данным, то memcached может быть не тем, что вам нужно. Это хранилище ключ-значение, которое поддерживает извлечение значений на основе уникального ключа, поэтому оно отлично подходит для распределенного кэширования, но не совсем для динамических запросов. Кроме того, это привело бы к удалению старых данных из-за нехватки памяти. (Отказ от ответственности: не эксперт по memcached)

Ответ №3:

Вы могли бы попробовать запустить MongoDB со следующей опцией, которая эффективно останавливает сброс данных на диск. Конечно, если у вас недостаточно оперативной памяти, ОС может решить сделать именно это.

 --syncdelay 0
  

Ответ №4:

MongoDB без базы данных — ничто. Вам нужен Memcached или что-то, созданное поверх Memcached … или вы используете MongoDB с RAM-диском в качестве каталога базы данных. Но, насколько вы предоставили нам информацию: в вашем приложении нет ничего, где вы использовали бы конкретную функциональность MongoDB …. правильный инструмент для каждой задачи …. по-видимому, вы используете неправильный инструмент.