О минусах MongoDB: что важно знать?
MongoDB имеет свои особенности и, разумеется, ряд преимуществ. Но если вы выбираете эту БД для своего проекта, вы должны понимать и недостатки. Давайте вкратце рассмотрим минусы, а также конкретные примеры, когда эта база данных все же подходит для вашего проекта.
Итак, среди основных минусов MongoDB можно выделить:
- база данных не соответствует основным требованиям ACID настолько, насколько этим требованиям соответствуют реляционные БД. Мы говорим, безусловно, об атомарности, согласованности, изолированности и устойчивости;
- транзакции с применением MongoDB являются относительно сложными;
- в базе MongoDB отсутствуют положения о хранимых процедурах либо функциях, а это значит, что у вас не получится реализовать какую-нибудь бизнес-логику на уровне БД, как это можно сделать в реляционных базах.
Так может и не стоит ее использовать?
Стоит, и в очень многих случаях. К примеру, MongoDB нередко выбирают, если требуется масштабируемая БД. Достаточно упомянуть, что ее применяют в качестве хранилища внутренних данных такие гиганты, как IBM, Twitter, Forbes, Facebook, Google.
Итак, MongoDB подойдет, если речь идет о следующих проектах и поставленных задачах:
- Каталог товаров в e-commerce.
- Блоги и системы управления контентом, а в особенности порталы, где очень много контента, включая изображения и видео.
- Онлайн-аналитика, высокоскоростное журналирование, кэширование данных и прочие случаи, когда в приоритете повышенная масштабируемость системы.
- Хранение данных, получаемых с различных датчиков и устройств.
- Работа с Big Data для машинного обучения/исследований в ритейле и пр.
- Работа с геопространственными данными.
- Соцсети, новостные форумы.
- Слабосвязанные данные, не имеющие четкой схемы хранения.
- Стартапы и новые проекты на стадиях, когда структура данных еще неизвестна.
По материалам https://mcs.mail.ru/blog/.