MongoDB

Ищите подрядчика?
Устройте конкурс между агентствами и узнайте реальные цены и сроки выполнения вашего проекта. Создание заказа занимает 5 минут.
Об инструменте

Что такое MongoDB

MongoDB – популярная нереляционная система управления базами данных. Относится к так называемым NoSQL-СУБД – для работы с MongoDB не нужен SQL-подобный язык запросов. В отличие от SQL-СУБД, данные в MongoDB представлены не в таблицах, а в отдельных документах. В MongoDB структура данных слабо типизированна – в документ можно добавить любую информацию.

Таблицы реляционных СУБД содержат однородные данные о разных объектах, а документы в MongoDB – целостные объекты с неоднородными данными. Такой способ хранения информации эффективнее в определенных задачах: например, при хранении профиля пользователя социальной сети. В подобном проекте будет важнее быстро открыть профиль пользователя, нежели быстро отфильтровать всех однофамильцев.

В MongoDB документы хранятся в формате JSON, либо его бинарном надмножестве – BSON. JSON – текстовый формат хранения данных, который берет начало от языка JavaScript. По этой причине MongoDB часто используют в стеке, ориентированном на JavaScript – MEAN (MongoDB, Express.js, Angular.js, Node.js). Работа в стеке MEAN позволяет передавать данные с помощью REST API, не занимаясь их дополнительным преобразованием. Тем не менее, JSON является независимым форматом, который воспринимается большим количеством разных языков программирования – MongoDB поддерживает интеграцию со всеми языками, которые популярны в нише бэкенд-разработки.

Язык запросов MongoDB не менее функционален, чем SQL. Кроме команд, MongoDB позволяет использовать в качестве запросов функции на JavaScript, а также регулярные выражения. В зависимости от запроса, общие данные могут поступать из разных документов. Поэтому, MongoDB может выполнять те же функции, что и SQL-базы данных, но со своими преимуществами и недостатками.

MongoDB позволяет масштабировать проект до огромных размеров – к примеру, на этой СУБД работают популярные онлайн-игры. Данные масштабируются горизонтально с помощью шардинга – база данных разбивается на определенные части, которые задает администратор. Грамотное сегментирование позволяет равномерно распределить нагрузку между серверами, а также обеспечить быстрый доступ к необходимым данным.

Примеры эффективного использования MongoDB

  • логирование событий различного вида;
  • соцсети, онлайн-игры с профилями пользователей;
  • фиксация вычислений нейросетей;
  • текстовые блоги;
  • база данных онлайн-кинотеатра;
  • сервис, который предоставляет информацию.

Преимущества разработки на MongoDB

  • возможность масштабирования без существенных изменений в структуре базы данных;
  • пригодность для задач любого типа;
  • благодаря гибкости хранения данных, базу данных удобно использовать при создании стартапа, для которого неясны направления развития.

Недостатки разработки на MongoDB

  • менее эффективна при работе с четко структурированными данными;
  • проще найти специалиста для поддержки реляционной СУБД;
  • требует большего количества памяти в сравнении с реляционными СУБД.

Примеры сайтов с использованием MongoDB

  • Разработчики компьютерных игр: Electronic Arts – ea.com.
  • Консалтинговая компания: McKinsey & Company – mckinsey.com.
  • Разработчики ПО: Atlassian – atlassian.com.
  • Производители автомобилей: Mercedes-Benz – mercedes-benz.com.
  • Финансовый конгломерат: Morgan Stanley – morganstanley.com.
Подробнее Свернуть
СЛЕДУЮЩАЯ
Amazon Aurora