@great_77

Где MongoDB хранит данные(в Оперативной памяти или постоянном хранилище)?

Суть вопроса в том будут ли сохранены данные после перезагрузки компьютера или это Б.Д. как redis хранит данные в оперативной памяти и её лучше использовать для кеша?
  • Вопрос задан
  • 47 просмотров
Пригласить эксперта
Ответы на вопрос 2
@NinjaNickName
Web разработчик
Суть вопроса в том будут ли сохранены данные после перезагрузки компьютера

Будут
Ответ написан
pashted
@pashted
тыжпрограммист
Смотря как у вас настроен сервер.
Сейчас в 4.2 по умолчанию включен движок хранения WiredTiger. Он держит в оперативной памяти те данные, которые часто требуются. А те, что должны быть записаны на диск, добавляет в журнал (по умолчанию это небольшой файл фиксированного размера в папке data/journal, но также есть вариант хранения журнала в памяти). Затем пачками вставляет раз в какое-то время (по умолчанию около минуты) и обновляет часть индексов.

Если система крашанулась и изменения не записались на диск, при следующем запуске движок по журналу записывает то, что не успел. Конечно, если краш произошел до добавления записи в журнал (например, была перегружена система ввода/вывода), то записывать будет нечего. То же самое в случае с журналом в памяти. Подробнее можно почитать тут https://docs.mongodb.com/manual/core/wiredtiger/

Движок In-memory Storage Engine (из названия понятно для чего) доступен только в энтерпрайз версии.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
SAYMON Санкт-Петербург
от 120 000 до 200 000 ₽
ImageSpark Санкт-Петербург
от 60 000 ₽