Задать вопрос
@victafonenko

MySql/SqLite/MongoDB кто меньше всех потребляет оперативной памяти?

Понятно что базы данных MySql/SqLite/MongoDB разные, сферы применения разные.
Но мне хотелось бы вкратце разобраться какая из этих баз будет потреблять меньше памяти при более менее одинаковом датасете хранящимся в них?

Еще наводящие вопросы:
1) Правильно ли чем больше mysql база тем больше потребление памяти потому что база загружается в память? 2) И верно ли что sqlite в отличии от mysql базу в оперативной памяти не хранит, а обращается к ней как к файлу на диске? Следовательно sqlite потребляет намного меньше памяти чем mysql

3) Что насчет MongoDB?

UPD: насчет MySql vs SqLite. Как то раз у меня был вордпресс с кучей постов (~50 тысяч), множеством плагинов и навороченной темой. Все это дико жрало память на небольшом VPS. Пытаясь решить проблему жора памяти, я наткнулся на вариант переключить ВП с MySql на SqLite (плагин https://wordpress.org/plugins/sqlite-integration/). После перехода, потребление памяти уменьшилось раз в 10, а сам ВП стал летать. Такие дела. (плагин указанный выше не обновлялся уже 3 года, да и не все плагины работали правильно с ним, так что не стоит пробовать это повторить сейчас).
  • Вопрос задан
  • 410 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
terrier
@terrier
К чему конкретно этот вопрос? Все эти базы займут не больше памяти, чем вы укажете в настройках. Если же вам интересно, кто эффективнее использует память - это надо конкретно сравнивать форматы хранения данных и индексов (B-tree, BSON, LSM-tree и т.д.) и их реализации. Плюс учитывайте сжатие/не сжатие данных.
1) Правильно ли чем больше mysql база тем больше потребление памяти потому что база загружается в память?

Нет, память используется для кэширования и сама по себе база в память в общем случае не подгружается.
2) И верно ли что sqlite в отличии от mysql базу в оперативной памяти не хранит,

Как мы установили, и mysql базу в оперативной памяти тоже не хранит. Логика подсказывает, что в sqlite должен экономнее относиться к ресурсам, но это догадки.
3) Что насчет MongoDB?

Да, что там у монги? Там BSON для данных и тот же B-tree для индексов ( в основном ). В тех, бенчмарках, которые я видел b-tree индекс в монге занимал на треть больше места, чем в mysql. Но вы померяйте и выложите актуальные данные, очень интересно.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@asd111
В настройках большинства БД есть несколько пунктов, в которых указывается объем оперативной памяти для БД.
Соответственно чем больше памяти указано в настройках тем больше будет выделено.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы